很久没有接触汇编了,近日朋友学汇编,有几道题不会做,麻烦各位高手指点下,多谢!
1.(DS)=212AH (CS)=0200H (IP)=1200H (BX)=0500H位移量 DATA=40H (217A0H)=2300H (217E2H)=9000H (217E0H)=0400H, 试确定下列位移指令地址.
①JMP 2300H
②JMP DWORD PTR[BX+DATA]
2.设堆栈指针的初值为2300H,(AX)=50ABH,(BX)=1234H。执行指令PUSH后(SP=?),再执行PUSH BX及POP AX之后,(SP)=?(AX)=? (BX)=?
3.已知:(AL)=7BH,(BL)=38H,试问执行指令,ADD AL ,BL后,AF,CF,DF,PF,SF ,ZF的值=?
4.判断BX中的内容:MOV CL,3
MOV BX,0B7H
ROL BX,1
ROR BX,CL
写出相应程序①写出两条使AX内容为0的指令。②使BL中的高4位和低4位互相换③屏蔽CX中的b11,b7,b3位。
5.指出程序功能
①MOV CX,10
LEA SI,FIRST
LEA DI,SECOND
STD
REP MOVSB
②CLD
LEA DA,[1200H]
MOV CX,OFF00H
XOR AX,AX
REP STOSW
6.试编程序,统计BUFFER为起始地址连续200个单元中0的个数
7.①从地址DS:0012H中传送一个数据56H 到AL中
②将AL中的内容左移两位。
③AL的内容与字节单元DS:0013H中的内容相乘。
------解决方案--------------------------------------------------------
第五题:
把FIRST里的长度为十的字符串送到SECOND中。
第6题:
buf:
mov cx,200
lea bx,buffer
mov al,00h
cmp [bx],ooh
jne next
inc al
jcxz exit
jmp buf
next:
inc bx
jmp buf
exit:
nop
------解决方案--------------------------------------------------------
2.设堆栈指针的初值为2300H,(AX)=50ABH,(BX)=1234H。执行指令PUSH后(SP=22FEH),再执行PUSH BX及POP AX之后,(SP)=22FEH(AX)=1234H (BX)=1234H
3.已知:(AL)=7BH,(BL)=38H,试问执行指令,ADD AL ,BL后,AF=0,CF=0,DF=0,PF=0,SF=1 ,ZF=0的值=?1011 0011
4.判断BX中的内容:MOV CL,3
MOV BX,0B7H 1011 0111->
ROL BX,1 0110 1111
ROR BX,CL 1110 1101 BX=0EDH
写出相应程序①写出两条使AX内容为0的指令。②使BL中的高4位和低4位互相换③屏蔽CX中的b11,b7,b3位。 XOR AX,AX SUB AX,AX MOV CL,4 ROL BL,CL
AND CX,1111011101110111B
------解决方案--------------------------------------------------------
1.(DS)=212AH (CS)=0200H (IP)=1200H (BX)=0500H位移量 DATA=40H (217A0H)=2300H (217E2H)=9000H (217E0H)=0400H, 试确定下列位移指令地址.
①JMP 2300H :2300H
②JMP DWORD PTR[BX+DATA] :0400H