发布网友 发布时间:2022-05-01 03:30
共2个回答
热心网友 时间:2023-10-03 09:38
;假设多字节数据存放为小端序(little endian)
mydata segment
ORG 100H
VARW DW 1234H,5678H ;100H~103H,存放内容依次为34H, 12H, 78H, 56H
VARB DB 3,4 ;104H~105H,存入内容依次为03H, 04H
AGLIN 4 ;地址按4字节对齐,那么从106H开始的第1个按4字节齐的地址是108H
VARD DD 12345678H ;108H~10BH, 存入内容依次为78H, 56H, 34H, 12H
EVEN ;接下来数据存入地址从偶数地址开始
BUFF DB 10 DUP(?) ;10CH~115H, 分配10个字节,未初始化
MESS DB ’HELLO’ ;116H~11AH, 分别存入H,E,L,L,O字符的ASCII值
BEGIN: MOV AX,OFFSET MESS ;AX中存放MESS的偏移地址,AX中内容为116H
MOV AX,TYPE BEGIN ;表达式是标号,显然是属于NEAR,所以AX中内容为-1,即FFFFFFFFH
MOV AX, OFFSET BEGIN ;AX中存放MESS的偏移地址,AX中内容为11BH
追问非常非常 感谢 很详细 很详细 你很好追答查了下TYPE伪指令:
TYPE 表达式
如果表达式是变量,则汇编程序将回送该变量的以字节数表示的类型:DB为1,DW为2,DD为4,DF为6,DQ为8,DT为10。如果表达式是标号,则汇编程序将回送代表该标号类型的数值:NEAR为 -1,FAR为 -2。如果表达式为常数,则应回送0。
显然BEGIN是标号,紧挨着MOV AX, TYPE BEGIN,肯定是属于NEAR的
热心网友 时间:2023-10-03 09:38
A.