电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PDF文档下载
分享到微信 分享到微博 分享到QQ空间

ch03汇编语言程序设计

  • 资源ID:142138286       资源大小:18.38KB        全文页数:13页
  • 资源格式: PDF        下载积分:0金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要0金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

ch03汇编语言程序设计

1 CH03 汇编语言程序设计 习题与思考题 1下列语句在存储器中分别为变量分配多少字节空间并画出存储空间的分配图。 VAR1 DB 10,2 VAR2 DW 5 DUP() ,0 VAR3 DB HOW ARE YOU , $ ,3 DUP(1, 2) VAR4 DD -1 ,1,0 解答: 字节空间 -VAR1 :2;VAR2 :12;VAR3 :19;VAR4 :12。 存储空间的分配图: DS:0000 0A 02 00 00 00 00 00 0000 00 00 00 00 00 48 4F 0010 57 20 41 52 45 20 59 4F55 3F 24 01 02 01 02 01 0020 02 FF FF FF FF 01 00 0000 00 00 00 00 2假定 VAR1和 VAR2为字变量, LAB为标号,试指出下列指令的错误之处。 (1)ADD VAR1 ,VAR2 (2)SUB AL,VAR1 (3)JMP LABCX (4)JNZ VAR1 (5) MOV 1000H ,100 ( 6)SHL AL , 4 解答: (1) 两个操作数中至少有一个为寄存器; (2)AL 为字节, VAR1为字变量,不匹配; (3)中不能用CX ; (4) 转向地址应为标号; (5) 目的操作数的类型不确定; (6)SHL 指令中,当所移位数超过1 时,必须用CL或 CX来取代所移位数。 3对于下面的符号定义,指出下列指令的错误。 A1 DB A2 DB 10 K1 EQU 1024 (1)MOV K1,AX (2)MOV A1,AX (3)CMP A1,A2 (4)K1 EQU 2048 解答: (1)K1 为常量,不能用MOV 指令赋值; (2)A1 为字节, AX为字变量,不匹配; (3)A1 未定义,无法做比较指令; (4)K1 重新赋值前,必须用PURGE 释放。 4数据定义语句如下所示: FIRST DB 90H,5FH,6EH ,69H SECOND DB 5 DUP() THIRD DB 5 DUP() 自 FIRST 单元开始存放的是一个四字节的十六进制数( 低位字节在前 ), 要求 : 编一段程序将这个数左移两位后存放到自SECOND 开始的单元 , 右移两位后存放到自 THIRD开始的单元。 ( 注意保留移出部分) 解答: DATA SEGMENT 2 FIRST DB 90H,5FH,6EH , 69H SECOND DB 5 DUP() THIRD DB 5 DUP() DATA ENDS CODE SEGMENT ASSUME CS : CODE ,DS :DATA START :MOV AX ,DATA MOV DS ,AX LEA SI ,FIRST LEA DI ,SECOND MOV CX ,2 CLC ;左移 2 位 MOV AX ,SI INC SI INC SI MOV DX ,SI PUSH DX PUSH AX ROL DX,CL AND DL, 03H MOV DI+4,DL ROL AX, CL AND AL, 03H MOV BL ,AL POP AX POP DX SHL DX, CL SHL AX,CL OR DL ,BL MOV DI ,AX MOV DI+2 , DX ;右移 2 位,类同左移的方法,略 MOV AH ,4CH INT 21H CODE ENDS END START 5 (原 14)在当前数据区从400H开始的 256 个单元中存放着一组数据,试编程序将 它们顺序搬移到从A000H开始的顺序256 个单元中。 解答: DATA SEGMENT ORG 400H DAT1 DB .;256 DUP () ORG 0A000H DAT2 DB .;256 DUP () 3 DATA ENDS STACK SEGMENT STACK ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX ;CH3-14 LEA SI,DAT1 LEA DI,DAT2 MOV CX,128 AGAIN: MOV AL,SI MOV DI,AL INC SI INC DI LOOP AGAIN ;CH3-15, 将两个数据块逐个单元进行比较,若有错BL=00H ,否则 BL=FFH LEA SI,DAT1 LEA DI,DAT2 MOV CX,128 NEXT: MOV AL,SI MOV BL,DI CMP AL,BL JNZ ERROR INC SI INC DI LOOP NEXT MOV BL,0FFH JMP EXIT ERROR: MOV BL,00H EXIT: MOV AX,4C00H INT 21H CODE ENDS END START 6试编程序将当前数据区从BUFF开始的4K 个单元中均写入55H,并逐个单元读出 比较,看写入的与读出的是否一致。若全对,则将ERR单元置0H ;如果有错,则将ERR 单元置 FFH 。 解答: DATA SEGMENT BUFF DB 1000H DUP() ERR DB DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA 4 START: MOV AX,DATA M OV DS,AX ; 将 55H 依次放入 BUFF开始的 4K个单元 LEA SI,BUFF M OV CX,1000H M OV AL,55H NTXT: MOV SI,AL I NC SI LOOP NEXT ; 取出与 55H比较,全对则ERR=0 ,否则 ERR=FFH LEA DI,BUFF LEA SI,ERR M OV CX,1000H NEXT1: MOV AL,DI I NC DI CMP AL,55H JNZ ERROR ;若有一个不同,即置ERR=FFH LOOP NEXT1 M OV AL,00H MOV SI,AL;全比较完无错,则置ERR=0 JMP EXIT ERROR: MOV AL,0FFH M OV SI,AL ; 返回 DOS EXIT: MOV AH,4CH I NT 21H CODE ENDS END START END 7在上题中,如果发现有错时,要求在ERR单元中存放出错的数据个数,则程序该 如何修改 解答: DATA SEGMENT BUFF DB 1000H DUP() ERR DW DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA M OV DS,AX ; 将 55H 依次放入 BUFF开始的 4K个单元 LEA SI,BUFF M OV CX,1000H M OV AL,55H NTXT: MOV SI,AL I NC SI 5 LOOP NEXT ; 取出与 55H比较 LEA DI,BUFF LEA SI,ERR M OV DX,0000H M OV CX,1000H NEXT1: MOV AL,DI I NC DI CMP AL,55H JZ NEXT2 ;若相同,则比较下一个 I NC DX;否则将放出错个数的DX加 1 NEXT2 : LOOP NEXT1 M OV SI,DX EXIT: MOV AH,4CH I NT 21H CODE ENDS END START END 8试编写程序段, 完成将数据区从0100H开始的一串字节数据逐个从F0H端口输出, 已知数据串以0AH为结束符。(略) 9( 原 24) 内存中以FIRST 和 SECOND 开始的单元中分别存放着两个4 位用压缩BCD 码表示的十进制数, 低位在前。 编程序求这两个数的和,仍用压缩BCD码表示 , 并存到以 THIRD开始的单元。 解答: DATA SEGMENT FIRST DW 3412H SECOND DW 7856H THIRD DB , DATA ENDS STACK SEGMENT STACK ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX LEA SI,FIRST LEA DI,SECOND LEA BX,THIRD MOV CX,2 CLC AGAIN: MOV AL,BYTE PTRSI MOV DL,BYTE PTRDI ADC AL,DL 6 DAA MOV BYTE PTRBX,AL INC SI INC DI INC BX LOOP AGAIN JC AA MOV BYTE PTRBX,0 JMP EXIT AA: MOV BYTE PTRBX,1 EXIT: MOV AX,4C00H INT 21H CODE ENDS END START 10( 原 27) 设字变量单元A、B、 C 存放有三个数,若三个数都不为零,则求三个数 的和,存放在D中;若有一个为零,则将其余两个也清零,试编写程序。 解答: DATA SEGMENT A DB B DB C DB D DW DATA ENDS STACK SEGMENT STACK ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX LEA SI,A LEA DI,D MOV AL,SI CMP AL,00 JZ ZERO ADC DX,AL LEA SI,B MOV AL,SI CMP AL,00 JZ ZERO ADC DX,AL LEA SI,C MOV AL,SI CMP AL,00 JZ ZERO 7 ADC DX,AL MOV DI,DX JMP EXIT ZERO: MOV AL,0 MOV A,AL MOV B,AL MOV C,AL EXIT: MOV AX,4C00H INT 21H CODE ENDS END START 11(16) 试编程序,统计由TABLE开始的 128 个单元中所存放的字符“A”的个数, 并将结果存放在DX中。 解答: DATA SEGMENT TABLE DB X1,X2,.X128 DATA ENDS STACK SEGMENT STACK ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX LEA SI,TABLE MOV DX,0 MOV CX,128 AGAIN: MOV AL,SI CMP AL,A JNZ NEXT INC DX NEXT: INC SI LOOP AGAIN MOV AX,4C00H INT 21H CODE ENDS END START 12试编制一个汇编语言程序,求出首地址为DATA的 10

注意事项

本文(ch03汇编语言程序设计)为本站会员(索****)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。

分享当前资源【ch03汇编语言程序设计】到朋友圈,您即可以免费下载此资源!
微信扫一扫分享到朋友圈
二维码
操作提示:任选上面一个二维码,打开微信,点击“发现”使用“扫一扫”,即可将选择的网页分享到朋友圈
您可能感兴趣的------------------------------------------------------------------------------------------------------



关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.