CPU CS DS SS ES IP DI SI 3000H 2050H 50A0H 0FFFH 0000H 000AH 0008H FFFFH 0004H 1000H 17C6H 8094H 1403H 1 CX BX SP DX AX BP CF RAM 20506H 20507H 20508H 20509H 2050AH 2050BH 2050CH 执行前 06H 00H 87H 15H 37H C5H 2FH 执行后 不变 不变 不变 不变 94H 不变 不变
(1)MOV DX,[BX+2] ;(DX)=0006H,(BX)=0004H (2)PUSH CX ;(SP)=0FFEH (3)MOV CX,BX ;(CX)=0004H,(BX)=0004H (4)TEST AX,01 ;(AX)=8094H,(CF)=0 (5)MOV AL,[SI] ;(AL)=87H (6)ADC AL,[DI] ;(AL)=0CCH,(CF)=0 DAA ;(AL)=32H (7)INC SI ;(SI)=0009H (8)DEC DI ;(DI)=0009H (9)MOV [DI],AL ;((DI))=94H (10)XCHG AX,DX ;(AX)=17C6H,(DX)=8094H (11)XOR AH,BL ;(AH)=84H,(BL)=04H (12)JMP DX ;(IP)=17C6H 18、(DS)=2000H,(BX)=1256H,(SI)=528FH,偏移量=20A1H,(232F7H)=3280H,(264E5H)=2450H,
试求执行下述指令后的结果。 (1) JMP BX ;(IP)=1256 H (2) JMP TABLE[BX] ;(IP)=3280 H (3) JMP [BX][SI] ;(IP)=2450 H
19、设(IP)=3D8FH,(CS)=4050H,(SP)=0F17H,当执行CALL 2000H:0094H后,试指出(IP)、(CS)、
(SP)、((SP))、((SP)+1)、((SP)+2)和((SP)+3)的内容。
CALL指令是5字节指令,下一条指令地址为4050H:3D94H 所以执行后 (IP)=0094H,(CS)=2000H、(SP)=0F13H ((SP))=94H,((SP)+1)=00H,((SP)+2)=00H,((SP)+3)=20H
第五章 汇编语言程序设计
2.PLENTH的值为0022,它表示当前已分配单元空间; 3.L的值为6;
5.(AX)=000AH;(BL)=0AH;(CL)=01H; 10.
MOV AX, 4A82H MOV DL,AH AND DL,0F0H MOV CL,4
SHR DL,CL PUSH AX
AND AH,0FH MOV BH,AH AND AL,0F0H MOV BL,AL MOV CL,4 SHR BL,CL MOV CL,BH POP AX
AND AL,0FH 11. data segment
string1 db 'I am a student.' string2 db 'I am a student .' yes db 'match',0dh,0ah,'$' no db 'no match',0dh,0ah,'$'
data ends
code segment
assume cs:code,ds:data,es:data start: push ds sub ax,ax push ax mov ax,data mov ds,ax mov es,ax lea si,string1 lea di,string2
mov cx,string2-string1 cld
repe cmpsb jnz dispno mov ah,9 lea dx,yes int 21h jmp exit dispno: mov ah,9 lea dx,no int 21h
exit: MOV AH,4CH INT 21H code ends
13. DATA SEGMENT
M DB 11H,22H,33H,44H,64H,87H,34,29,67H,88H,0F6H DB 43H,0B7H,96H,0A3H,233,56H,23H,56H,89H C EQU 20 P DB 20 DUP(?) N DB 20 DUP(?)
PLUS DB 'PLUS',0DH,0AH,'$' MINUS DB 'MINUS',0DH,0AH,'$' J DB 2 DUP(?) DATA ENDS
CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,M
LEA DI,P LEA BX,N MOV CX,C MOV DX,0 LOOP1: LODSB TEST AL,80H
JNZ MINUS1 ;负数转移 MOV [DI],AL INC DI
INC DH ;存正数个数 JMP AGAIN
MINUS1: MOV [BX],AL INC BX INC DL ;存负数个数 AGAIN: DEC CX
JNZ LOOP1
MOV WORD PTR J,DX ;存结果 MOV DX,OFFSET MINUS MOV AH,9
INT 21H ;显示提示信息 MOV BL,J MOV CH,2 ROTATE: MOV CL,4 ROL BL,CL MOV AL,BL AND AL,0FH ADD AL,30H CMP AL,3AH JL POR ADD AL,7 POR: MOV DL,AL MOV AH,2 INT 21H DEC CH
JNZ ROTATE ;十六进制形式输出负数个数 MOV AH,2 MOV DL,0DH INT 21H MOV DL,0AH INT 21H
MOV DX,OFFSET PLUS MOV AH,9 INT 21H
MOV DH,J+1 MOV CH,2

