收藏 分销(赏)

汇编作业及参考答案.doc

上传人:仙人****88 文档编号:9397586 上传时间:2025-03-24 格式:DOC 页数:6 大小:81KB
下载 相关 举报
汇编作业及参考答案.doc_第1页
第1页 / 共6页
汇编作业及参考答案.doc_第2页
第2页 / 共6页
点击查看更多>>
资源描述
作业1 1.1 将十进制数89转换成8位无符号二进制数。 1.2 将无符号二进制数1001 0010转换成十进制和十六进制。 1.3 将8位二进制数1001 0010和0100 1001分别作为有符号数的原码、反码和补码,将其转换为十进制数。 1.4 将十进制数125和-125分别转换成8位、16位和32位二进制补码。 1.5 用Windows计算器将十进制数4042322160和-252645136分别转换成32位无符号和有符号(补码)二进制数,再将结果转换成十六进制数,并分析结果。 1.6 分别求出二进制数1001 1110和0111 1000的“与”和“或”的结果。 1.7 8086处理器有哪几个16位通用寄存器? 1.8 将双字类型数112233H(十六进制)存放在内存地址20000H中,占用哪几个字节单元,它们的地址和数值分别是什么? 1.9 8086处理器用于运算的标志有哪几个?名称是什么? 1.10 8086处理器分别执行8位二进制数01001010和11000010的加、减后,写出标志位CF、ZF、OF的值。 作业1答案 1.1 01011001 1.2 146和92H 1.3 原码:-18和73,反码:-109和73,补码:-110和73。 1.4 8位:0111 1101和1000 0011,16位:0000 0000 0111 1101和1111 1111 1000 0011,32位0000 0000 0000 0000 0000 0000 0111 1101和1111 1111 1111 1111 1111 1111 1000 0011。 1.5 1111 0000 1111 0000 1111 0000 1111 0000,F0F0F0F0H。 1.6 0001 1000和1111 1110。 1.7 AX、BX、CX、DX、SI、DI、BP、SP。 1.8 地址10000H存放33H,地址10001H存放22H,地址10002H存放11H,10003H存放0。 1.9 CF:进位/借位标志、ZF:零标志、SF:符号标志、PF:奇偶标志、OF:溢出标志、AF:半进位标志。 1.10 加运算后:CF=1,ZF=0,OF=0。减运算后CF=1,ZF=0,OF=1。 作业2 2.1 8086汇编中的操作数有哪几类?存储器操作数寻址方式有几种? 2.2 汇编语句分为指令和伪指令,汇编指令由哪几部分构成?这些部分中哪些部分是不可缺省的? 2.3 传送类指令综合练习。汇编语句片段如下,顺序执行过程中填写右侧寄存器和存储器内容。 MOV SI, 120 ; ① SI = ( )H MOV AX, 0AA70H MOV [SI], AX MOV BX, 3020 ; ② BX = ( )H ADD BX, AX MOV [SI+2], BX MOV [SI+4], SI ; ③ [SI] = ( )H (6 Byte) PUSH DS LDS CX, [SI+1] ; ④ DS = ( )H,CX = ( )H POP DS LEA AX, [SI+4] ; ⑤ AX = ( )H MOV BX, SI MOV AL, 2 XLAT ; ⑥ AL = ( )H 作业2答案 2.1 操作数有立即数、寄存器数和存储器数3类。存储器操作数寻址方式有直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址和相对基址变址寻址共5种。 2.2 由标号、操作码、操作数和注释共4部分构成,其中操作码是不可缺省的。 2.3 结果十六进制顺序为 ① SI=0078H,② BX=0BCCH,③ [SI]=70H AAH 3CH B6H 78H 00H,④ DS=78B6H、CX=3CAAH,⑤ AX=007CH,⑥ AL=3CH。 作业3 3.1 8位和16位有符号数所能表示的数据范围的十进制值是多少? 3.2 可以作为加、减指令的操作数的寄存器有哪些? 3.3 运算指令综合练习。汇编语句片段如下,顺序执行过程中填写右侧寄存器和标志位内容。 MOV AX, 1240 ; ① AX = ( )H MOV BX, 70H ADD AX, BX ; ② AX = ( )H CF = ( ) OF = ( ) SUB AX, 1000 ; ③ AX = ( )H CF = ( ) OF = ( ) ZF = ( ) OR AX, BX ; ④ AX = ( )H NOT AX ; ⑤ AX = ( )H CF = ( ) OF = ( ) ADD AL, AH ; ⑥ AX = ( )H CF = ( ) OF = ( ) PF = ( ) XOR AL, BL ; ⑦ AX = ( )H CF = ( ) OF = ( ) MOV CL, 4 SHL AL, 1 ; ⑧ AX = ( )H CF = ( ) ROR AL, CL ; ⑨ AX = ( )H CF = ( ) MUL AH ; ⑩ AX = ( )H CF = ( ) OF = ( ) 作业3答案 3.1 8位:-128~+127,16位:-32769~+32767。 3.2 8位寄存器:AL、AH、BL、BH、CL、CH、DL和DH共8个。16位寄存器:AX、BX、CX、DX、SI、DI、BP和SP共8个。 3.3 按顺序结果为:① AX=04D8H,② AX=0548H、CF=0、OF=0,③ AX=0160H、CF=0、OF=0、ZF=0,④ AX=0170H,⑤ AX=FE8FH、CF=0、OF=0,⑥ AX=FE8DH、CF=1、OF=0、PF=1,⑦ AX=FEFDH、CF=0、OF=0,⑧AX=FEFAH、CF=1,⑨AX=FEAFH、CF=1,⑩ AX=ADA2H、CF=1、OF=1。 作业4 4.1 分析程序。以下程序片断执行结束后AX、BX、CX和DX的值各是什么?将LOOP语句更换成LOOPZ后再计算。 MOV AX, 1 MOV BX, 2 MOV CX, 3 MOV DX, 4 b001: INC AX ADD BX, AX SHL DX, 1 LOOP b001 4.2 编写汇编程序片段。AL存放着一个ASCII码,如果是小写字母,将其转换成大写。 4.3 编写汇编程序片段。假设DS指向一个数据区,在偏移量为0处开始存放一个英文字符串,以“$”字符结束,计算该字符串长度。 4.4 编写汇编程序片段。通过INT 21H,0AH系统调用输入一个字符串,再通过INT 21H,09号系统调用输出,在DEBUG下验证(代码部分在偏移量100H处,数据存储在偏移量200H处)。 作业4答案 4.1 LOOP:AX=4、BX=0BH、CX=0、DX=20H LOOPZ:AX=2、BX=4、CX=2、DX=8 4.2 CMP AL, 61H JB b002 CMP AL, 7AH JA b002 SUB AL, 20H b002: ...... 4.3 MOV BX, 0 MOV CX, 0 c001: MOV AL, [BX] CMP AL, 24H JE c002 INC BX INC CX JMP c001 c002: ...... 4.4 MOV BX, 0200H ; 定义数据区指针 MOV AL, 0FFH ; 数据区第一个字节送255 MOV DX, BX MOV [BX], AL MOV AH, 0AH ; 0AH系统调用输入 INT 21H MOV AL, [BX+1] ; 实际输入字节数送AL MOV AH, 0 ADD BX, AX ; BX指向输入的最后一个字节的下一个单元 ADD BX, 2 MOV AL, 24H ; 送“$”符号 MOV [BX], AL MOV AH, 9 ; 09号系统调用 ADD DX, 2 ; DX指向实际的输入字符串首个单元 INT 21H 作业5 5.1 写出简化段定义程序框架。 5.2 定义数据区。定义一个表格,一共100条记录,每一条记录包括5个字段,分别是“编号”(16位无符号数)、“姓名”(长度为20字节字符串)、“地址”(长度为64字节的字符串)、“邮编”(长度为6字节字符串)和“电话”(长度为20字节的字符串)。 5.3 编写完整程序。连续显示按键的键码和其ASCII码的十六进制值,按ESC键退出。 5.4 编写完整程序(选作)。通过INT 21H, 0AH系统调用从键盘输入一个字符串(ASCII码,包括英文字母、数字、空客、英文逗号和句号),最长255字节。将每一句话第一个词首字母变为大写,其余全部为小写。通过INT 21H,09输出结果。 作业5答案 5.1 简化段定义程序框架 .MODEL SMALL ; 定义程序模式:小模式 .386 .STACK ; 堆栈段,默认1024B .DATA ; 数据段开始 … ; 数据段 .CODE ; 代码段开始 .STARTUP ; 程序起始点,设定DS, SS … ; 代码段 .EXIT 0 ; 程序结束点,返回操作系统 END ; 汇编结束 5.2 采用结构Person表示一条记录信息 Person STRUCT ; 结构名:person Id WORD 0 ; 编号:字0~65535 PName BYTE 20 DUP(0) ; 姓名:20个ASCII码或10个汉字 Addr BYTE 64 DUP(0) ; 地址:64字节,32汉字 Post BYTE 6 DUP(0) ; 邮编:6位数字 Phone BYTE 20 DUP(0) ; 电话:20位ASCII码 Person ENDS ; 结束 PList Person 100 DUP(〈〉) ; 定义结构数组(表) 5.3 .MODEL SMALL .STACK .DATA s01 db ' ASCII code = ' s02 db ?, ?, 'H', 0dh, 0ah, '$' .CODE .STARTUP kpress: mov ah, 1 ; 等待按键,获取按键的ASCII码 int 21h call tascii ; 转换AL成两位ASCII码,存放在AH和AL mov s02, ah ; 显示准备 mov s02+1, al mov ah, 9 ; 显示 lea dx, s01 int 21h cmp word ptr s02, 4231h ; 按键是ESC键吗 jne kpress ; 如果不是ESC则转移到开始 .EXIT 0 tascii PROC mov ah, al and al, 0fh add al, 30h cmp al, 39h jbe atof1 add al, 7 atof1: and ah, 0f0h shr ah,1 shr ah,1 shr ah,1 shr ah,1 add ah, 30h cmp ah, 39h jbe atof2 add ah, 7 atof2: ret tascii ENDP END
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服