教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 互联网资料 >

汇编语言程序设计(7)

来源:网络收集 时间:2026-05-26
导读: sub ax,ax push ax movax,dseg movds,ax mov es,ax begin: mov si,0 mov bx,0 mov cx,15 loop1: push cx mov di,0 mov cx,20 mov ax,a [si] loop2: cmp b [di],ax jne no mov c [bx],ax add bx,2 no:

sub ax,ax push ax movax,dseg movds,ax

mov es,ax begin: mov si,0 mov bx,0 mov cx,15 loop1: push cx mov di,0 mov cx,20 mov ax,a [si] loop2: cmp b [di],ax jne no mov c [bx],ax add bx,2 no: add di,2 loop loop2 add si,2 pop cx loop loop1 ret

main endp cseg ends end start

17、指令AND AX,OPR1 AND OPR2中,OPR1和OPR2时两个已赋值的变量,两个AND操作有什么区别?答案:opr1 and opr2 是一个表达式,and为逻辑操作符,它在汇编求得一个值。and指令在程序运行式执行。

18、下列PUSH指令和POP指令哪些是合法的?哪些是非法的?是分别用√和╳在中表示出来。

(1)PUSH CX ( ) (2)POP AL ( ) (3)PUSH DS ( ) (4)POP DX ( ) (5)PUSH CS ( ) (6)PUSH ES ( ) (7)POP CS ( ) (8 ) POP SS ( ) (9)PUSH SI ( ) (10)POP DAT ( ) 04010

(2),(7)是非法指令,其余指令合法 19、写出数据段中每个符号所对应的值。 DATAAREA SEGMENT MAX EQU OFFFH

VALONE EQU MAX MOD 10H VALTWO EQU VALONE*2

BUFSIZ EQU ((VALONE GT 10H)AND 10H)+10H BUFFER DB BUFSIZE DUP(?)

BUFEND EQU BUFFER+BUFSIZ-1 DATAREA ENDS 答案:MAX=0FFFH

VALONE=000FH(VALONE为MAX的值除以10H的余数) VALTWO=001EH(000FH*2=001EH) BUFSIZ=0020H

20、给定(DS)=2000H, (BX)=0100H, (SI)=0002H, (20100H)=12H, (20101H)=34H,

(20102H)=56H,

(20103H)=78H;

(21200H)=2AH,

(21201H)=4CH, (21202H)=B7H, (21203H)=65H, 试分析下列指令执行后, AX寄存器的内容.

(1)MOV AX, 1200H (2)MOV AX, BX (3)MOV AX, [1200H] (4)MOV AX, [BX](5)MOV AX, 1100H[ BX] (6)MOV AX, [BX+SI] (7)MOV AX, 1100H[BX][SI]

答案:(1) AX=1200H(2分) (2) AX=0100H(2分) (3) AX=4C2AH(2分) (4) AX=3412H(2分) (5) AX=4C2AH(2分) (6)AX=7856H(2分) (7) AX=65B7H(3分)

21、假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,数据段中变量名VAL的偏移地址为0050H,试指出下列源操作数字段的寻址方式是什么?其物理地址是什么?

(1)MOV AX, 0ABH (2)MOV AX, BX (3)MOV AX, [100H] (4)MOV AX, VAL (5)MOV AX, [BX] (6)MOV AX,ES: [BX](7)MOV AX, [BP] (8)MOV AX, [SI] (9)MOV AX,

[BX+10] (10)MOV AX,VAL[BX] (11)MOV AX, [BX][SI] (12)MOV AX, VAL[BX][SI]

答案:(1)立即寻址 0 (2)寄存器寻址 0 (3)直接寻址 20100H (4)直接寻址 20050H (5)基址寻址 20100H (6)段超越的基址寻址 21100H (7)堆栈段基址寻址 15010H(8)源变址寻址 200A0H(9)带偏量的基址寻址20110H(10)带偏移量的基址寻址20150H(11)基址加变址寻址201A0H(12)带偏移量的基址加变址寻址201F0H

22、设堆栈指针SP的初值为2000H,AX=3000H,BX=5000H,试问: (1)执行指令PUSH AX后,SP=?(2)再执行指令PUSH BX及POP AX后,SP=? AX=? BX=?(1) SP=1FFEH(2) SP=1FFEH, AX=5000H, BX=5000H 23、假如AL=20H,BL=10H,当执行CMP AL,BL后,问:(1)当AL,BL中内容是两个无符号数,比较结果如何?影响哪几个标志位?(2)当AL,BL中内容是两个有符号数,比较结果又如何?影响哪几个标志位?

(1) 此时AL>BL, CF=0,ZF=0(2) 此时AL>BL, OF=0,SF=0 24、下列程序段执行后,BX寄存器中的内容是什么? MOV CL,3 MOV BX, 0B7H ROL BX,1 ROR BX,CL BX=C02DH

25、已知程序段如下: MOV AX,1234H

MOV CL,4 ROL AX,CL DEC AX MOV CX,4 MUL CX INT 20H

试问:(1)每条指令执行完后,AX寄存器的内容是什么?(2)每条指令执行完后,进位、符号和零标志的值是什么?(3)程序结束时,AX和DX寄存器的内容是什么?

MOV AX,1234H ;AX=1234H, 运算结果不影响标志位 MOV CL,4 ;CL=4 运算结果不影响标志位

ROL AX,CL ;AX=2341H 运算结果影响标志位CF=1 SF=0 ZF=0

DEC AX ;AX=2340H CF=1 SF=0 ZF=0 MOV CX,4 ;CX=4 运算结果不影响标志位

MUL CX ;AX=8D00H DX=0000H 运算结果影响标志位CF=0 SF=1 ZF=0 INT 20H

26、用两种方法写出从88H端口读入信息的指令,再用两种方法写出从42H端口输出100H的指令。

读入:(1)IN AL,88H(2)MOV DX,0088H IN AL,DX

输出:(1)MOV AL,100H OUT 42H,AL

(2)MOV DX,0042H MOV AL,100H OUT DX,AL

…… 此处隐藏:876字,全部文档内容请下载后查看。喜欢就下载吧 ……
汇编语言程序设计(7).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/442698.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)