计算机组成原理与汇编语言程序设计课后习题及解答(详解)(7)
MOV BX , 0 ; BX=0
LOP: TEST DA1[BX] , 01H ;测试存储单元的数据是否偶数 JE NEST ; 是偶数,则跳转 ADD AL , DA1[BX] ;是奇数,将其累加
INC AH ; 计算奇数个数 NEXT:INC BX ;指向下一个存储单元 INC CL ;数据个数计数器
CMP CL , 10 ;运行后,(AL)=奇数之和=39=27H JNE LOP ;(AH)=10 上述程序运行后,AH和AL的内容分别是多少?
22. AA1 DB 10H DUP(2)
AA2 DW 10H DUP(0304H)
……
MOV BX , 0 ;设置数据指针
MOV AL , 0 ;设置累加器初值
MOV CX , 10 ;设置计数器初值
BB1: ADD AL , AA1[BX] ;累加
ADD AL , BYTE PTR AA2[BX] ;累加
INC BX ;修改数据指针
LOOP BB1 ;循环10次 上述程序段运行期间,当执行完 INC BX 且 (BX)=05H时,CX和AL中的内容分别是多少? 解:(AL)=2+4+2+3+2+4++2+3+2+4=28=1CH , (CX)=6 23.
DB1 DB 4 DUP(2,4,6,8) ……
LEA BX , DB1 MOV CX , 10H MOV AX , 0 LOP: ADD AL , [BX] AND AL , 0FH CMP AL , 8 JBE NEXT INC AH
SUB AL , 08H
NEXT:LOOP LOP
上述程序段执行后,(AX)=?如果LOOPNE指令替代LOOP指令,那么上述程序段执行后,(AX)=? (CX)=?
解:
由上表可知道,上述程序段执行后,(AX)=0600H,(CX)=0
如果LOOPNE指令替代LOOP指令,那么上述程序段执行后,(AX)=0300H (CX)=8
24. 下面程序段是判断寄存器AH和AL中第三位是否相同,如相同,AH置0,否则AH置非0。试在空白处填上适当的指令(一个空白处只填一条指令)。
AND AH , 08H
MOV AL , 0FFH JMP NEXT ZERO: MOV AH , 00 NEXT: ……
25. 试用两条指令完成对寄存器AH和AL分别加1,且AL中加1形成的进位加在AH最低位,AH中形成的进位加在AL的最低位.
解: INC AX , 0101H
ADC AL , 0
26. 在数据段中有一乘法表(TAB1~TAB9),乘数和被乘数分别在MUL1和MUL2的字节单元中.试编写一程序,用查表法求出(MUL1)*(MUL2)的乘积.数据段如下: DATA SEGMENT
TAB1 DB 1,2,3,4,5,6,7,8,9 TAB2 DB 2,4,6,8,10,12,14,16,18 TAB3 DB 3,6,9,12,15,18,21,24,27 TAB4 DB 4,8,12,16,20,24,28,32,36 TAB5 DB 5,10,15,20,25,30,35,40,45, TAB6 DB 6,12,18,24,30,36,42,48,54 TAB7 DB 7,14,21,28,35,42,49,56,63 TAB8 DB 8,16,24,32,40,48,56,64,72
TAB9 DB 9,18,27,36,45,54,63,72,81 MUL1 DB 3 MUL2 DB 6 PROD DB 0 DATA ENDS 解:
MOV BX,OFFSET DA1 MOV DL,MUL1 DEC DL MOV DH,00H ADD BX.DX MOV AL,MUL2 DEC AL MUL AL,9 ADD AL,DL ADD BX,AX MOV AL,[BX]
MOV PROD,AL
27. 试编写一程序,把DA_BY1字节存储单元的8位二进制数分解为3个八进制数,其中字高位八进制数存放在DA_BY2的字节单元中,最低位存放在DA_BY2+2单元中.例如数据单元定义如下: DA_BY1 DB 6BH
DA_BY2 DB 3 DUP(0) 解:
LEA DI , DA_BY+2
MOV AL , DA_BY1
XOR AH , AH MOV DL , 3 MOV CL , 3 SHL AX , 3 LOP: SHR AL , CL PUSH AX AND AL , 7 MOV [DI] , AL DEC DI DEC DL POP AX
JNZ LOP
29.试编制一程序,统计DA_WORD数据区中正数, 0 , 负数的个数.数据区为: DATA SEGMENT
DA_WORD DW - 1,3,5,0, - 5, -7, - 4,0, -7, …… COUT1 DB $ - DA_WORD
COUT2 DB 0 ; 存放正数的个数
DB 0 ; 存放0的个数
DB 0 ; 存放负数的个数 解:
MOV BX , OFFSET DA_WORD;BX指向数据区
MOV CX , COUT1 ;设置循环次数 LOP: MOV AX , [BX] ;取数
CMP AX , 0 ;比较
JE ZERO ;小于0,转ZERO JL LESS ;负数,转LESS INC COUT2 ;统计正数个数 ZERO: INC COUT2+1 ;统计0的个数
JMP NEXT
LESS: INC COUT2+2 ;统计负数个数
NEXT: INC BX ;BX指向下一个数据
LOOP LOP ;循环
30. 试编制一程序,完成在数据区内可任选下列两种数据之一,并显示排列结果.产生哪种数据排列,由键盘输入1或2来确定.
第一种排列:?0‘,?A‘,‘1‘,‘B‘,‘2‘,‘C‘, … ‘9‘,‘J‘ 第二种排列:?A‘,‘0‘,‘B‘,‘1‘,‘C‘,‘2‘, … ?J‘,‘9‘ 解:
DATA SEGMENT
DA1 DB ?0123456789‘ DA2 DB ?ABCDEFGHIJ‘ DATA ENDS ……
LEA SI , DA1
LEA DI , DA2 MOV CX , 10 MOV AH , 01H INT 21H
CMP AL , 1 JE …… 此处隐藏:1760字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [建筑文档]2018年公需课:专业技术人员创新能力与
- [建筑文档]2013年福建教师招考小学数学历年真题
- [建筑文档]高中信息技术课flash知识点总结 - 图文
- [建筑文档]电工实训 - 图文
- [建筑文档]最高院公告案例分析100篇(民商篇)
- [建筑文档]南开中学高2017级14-15学年(上)期末
- [建筑文档]五粮液集团战略分析
- [建筑文档]鲁教版(2012秋季版)九年级化学 酸碱
- [建筑文档]超星尔雅2017中国哲学概论自整理题库答
- [建筑文档]关于成为海口金盘饮料公司材料独家供货
- [建筑文档]LNG学习资料第一册 基础知识 - 图文
- [建筑文档]四年级品社下册《好大一个家》复习资料
- [建筑文档]现阶段领导权力腐败的特点及发展趋势
- [建筑文档]魏晋南北朝诗歌鉴赏—嵇康
- [建筑文档]坚持追求真爱是理智的行为 正方一辩稿
- [建筑文档]湘西州刑释解教人员帮教安置工作存在的
- [建筑文档]园林工程试题库及答案
- [建筑文档]计算机长期没有向WSUS报告状态
- [建筑文档]日语最新流行语
- [建筑文档]B62-016 景观进场交底专题会议
- 2018年中考语文课内外古诗词鉴赏专题复
- 高考试题研究心得体会
- C语言基础题及答案
- 电气控制及PLC习题及答案
- 都昌小学家长学校汇报材料
- GMAT作文模板正确使用方法
- 俄军办坦克大赛:中国99式有望与豹2A6
- 成本会计练习题
- 酒店餐饮业最流行的5S管理方法
- 2014-2015学年山东省菏泽市高二(下)
- 《黄鹤楼送孟浩然之广陵》教案、说课、
- 2013年结构化学自测题 有答案版
- 2011西安世界园艺博览会游览解说词(附
- 窗口文明单位示范单位创建活动总结
- 2018满分超星尔雅就业课后练习期末答案
- 韶山市城市总体规划-基础资料
- 苏教版第三单元知识点归纳
- 第4章 曲轴模态分析
- 加大查办案件力度的思考
- 武汉CPC导轨介绍




