4.现有AX=2000H, BX=1200H, DS=3000H, DI=0002H, (31200H)=50H, (31201H)=02H, (31202H)=40H,请写出下列各条指令独立执行完后有关寄存器及存储单元的内容,并指出标志位ZF、CF的值。 A.ADD AX,1200H;问AX=________H,ZF=________ B.SUB AX,BX;问AX=________H,ZF=________ C.MOV AX,[BX];问AX=________H CF=________ D.NEG WORD PTR[1200H];问(31200H)=________H CF=________
时间: 2023-08-06 18:23:24 浏览: 81
A. 执行ADD AX, 1200H后,AX的值为3200H,ZF=0。
B. 执行SUB AX, BX后,AX的值为E800H,ZF=0。
C. 执行MOV AX, [BX]后,将存储在BX指向的内存地址中的值1200H传送到AX中,AX的值为1200H,CF=0。
D. 执行NEG WORD PTR [1200H]后,将存储在1200H中的数值502H取反得到BFDH,存储回1200H中,因此(31200H)=FDH,CF=1。
相关问题
已知 DS=3000H,DI=1200H,(31200H)=64H,(31201H)=93H,执行 NEG WORD PTR [DI]后,(31200H)= ,(31201H)= 。
根据题意,可以得出:
- DS = 3000H
- DI = 1200H
- (31200H) = 64H
- (31201H) = 93H
执行指令 `NEG WORD PTR [DI]` 会将 DI 指向的双字(16 位)数值取反,因为指令中使用了 `WORD PTR`,所以会取反 DI 和 DI+1 所指向的两个字节。
在本题中,DI 指向的地址为 1200H,也就是 (31200H) 的低字节。因此,执行指令后,(31200H) 的值会变成其补码形式的结果,即:
- (31200H) = 9C00H
而 (31201H) 不会受到影响,仍然是 93H。
现有DS=2000H,BX=0100H,SI=0002H,(20100H)=78H,(21200H)=65H,(20101H)=56H,(21201H)=0B7H,(20102H)=34H,(21202H)=4CH,(20103H)=12H,(21203H)=2AH,试说明下列各条指令执行完后AX寄存器的内容。(1)MOVAX,3456H;AX=_(2)MOVAX,BX;AX=______(3)MOVAX,[1200H];AX=(4)MOVAX,[BX1100H];AX=(5)MOVAX,[BX];AX=(6)MOVAX,1100H[BX][SI];AX=
(1) MOV AX, 3456H; AX = 3456H
(2) MOV AX, BX; AX = 0100H
(3) MOV AX, [1200H]; AX = 7856H (因为[1200H]存储的值是78H和56H,按照小端模式拼接成7856H)
(4) MOV AX, [BX+1100H]; AX = 654CH (因为[BX+1100H]存储的值是65H和4CH,按照小端模式拼接成654CH)
(5) MOV AX, [BX]; AX = 假设[BX]存储的值是ABCDH,则AX = CDCBH (因为[BX]存储的值是CDH和CBH,按照小端模式拼接成CDCBH)
(6) MOV AX, 1100H[BX][SI]; AX = 2A12H (因为1100H+BX+SI等于21203H,该地址存储的值是2AH和12H,按照小端模式拼接成2A12H)