微型计算机原理及应用第二版课后答案李伯成,李伯成《微型计算机原理及应用+》完整课后习题答案.doc...

李伯成《微机原理》习题 第三章

MOVAX,00H;立即寻址

SUB AX,AX;寄存器寻址

MOVAX,[BX];寄存器间接寻址

MOVAX,TABLE;直接寻址

MOVAL,ARAY1[SI];寄存器相对寻址

MOVAX,[BX+6];寄存器相对寻址

若1KB的数据存放在TABLE以下,试编写程序将该数据拌到NEXT之下。

程序片段如下:

ORG 100h

MOVCX,03FFH;数据个数

LEASI,TABLE;源区首地址

LEADI,NEXT; 目的区首地址

AGAIN:MOVAL,[SI];

MOV[DI],AL; 搬移

INC SI

INC DI; 移动地址指针

DECCX; 循环计数器递减

JNZ AGAIN; 循环未结束转

HLT; 暂停

TABLE DB 1024 dup ('A'); 源数据区

NEXTDB 1024 dup (0);目的数据区

编写10个字(16位二进制数)之和的程序

ORG 100h

LEASI,ADD1;

LEADI,ADD2;

LEABX,SUM;

MOVCL,CONT;

MOVCH,0; 循环初始化

CLC;进位清零

MADD1:MOVAX,[SI];读加数1

ADCAX,[DI]

ADDSI,2;移动源区地址指针

ADDDI,2;移动目的区地址指针

MOV[BX],AX;回存计算结果

ADDBX,2;移动“和”存储区地址指针

LOOPMADD1;循环控制

HLT;暂停

ADD1DB 0FEH,86H,7CH,44h,56H,1FH,24H,01H,02H,33H;加数1

ADD2DB 56H,49H,4EH,0FH,9CH,22H,45H,11H,45H,21H; 加数2

SUMDB 10 DUP (0); 和存储单元

CONT DB5 ; 循环次数

3.4 某16位二进制数,放在DATA连续的两个单元中,试编程求其平方根和余数,将其分别存放在ANS和REMAIN中。

ORG 100h

MOVBL,2; 除数初值

AGAIN:MOVCX,NUM;预计最大循环次数

MOVAL,BL;0、1的平方根除外

MULBL; 得到2的平方

CMPAX,CX;大于原始数据么?

JGEXIT;若原始数据小于4转EXIT

MOVAX,CX;读数

DIVBL;试除

INCBL;除数递增

JMPAGAIN;继续除

EXIT:DECBL;去除除数自加

MOVANS,BL;存商

MOVAL,BL;恢复余数

MULBL;

SUBCX,AX;

MOVREMAIN,CL;

HLT

NUMDW7;

ANSDB ?;

REMAINDB?;

3.5 在DATA1之下顺序存放着以ASCII码表示的千位数,将其转换成二进制数。

MOVCL,4;移位次数

MOVCH,CL;循环次数

MOVSI,OFFSET ASCBIN

CLD

XORAX,AX

XORDX,DX

ASCB1:LODSB

ANDAL,7FH

CMPAL,'0';不大于‘0’结束转换

JLERR

CMPAL,'9'

JGASCB2;大于‘9’转ASCB2

SUBAL,30H; 数字形式二进制数减30H

JMPASCB3

ASCB2:CMPAL,'A';大于‘9’又小于‘A’结束转换

JLERR

CMPAL,'F'

JGERR;大于‘F’为不合理数,结束转换

SUBAL,37H;字符形式ASCII数减37H

ASCB3:ORDL,AL

ROLDX,CL

DECCH

JNZASCB1

ROLDX,CL

MOVBIN,DX;存储转换结果

ERR:NOP

HLT

ASCBINDB '1','B,'4','3'

BINDW ?

3.7 编写

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值