- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理程序习题微机原理程序习题
4.1 请分别用DB、DW、DD伪指令写出在DATA开始的连续8个单元中依次存放数据11H、22H、33H、44H、55H、66H、77H、88H的数据定义语句。
解:DB、DW、DD伪指令分别表示定义的数据为字节型、字类型及双字类型。其定义形式为:
DATA DB 11H, 22H, 33H, 44H, 55H, 66H, 77H, 88H
DATA DW 2211H, 4433H, 6655H, 8877H
DATA DD ,
4.2 若程序的数据段定义如下,写出各指令语句独立执行后的结果。
DSEG SEGMENT
DATA1 DB 10H, 20H, 30H
DATA2 DW 10 DUP (?)
String DB ‘123’
DSEG ENDS
MOV AL, DATA1
MOV BX, offset DATA2
LEA SI, String
ADD DI,SI
解:先取变量String的偏移地址送寄存器SI, 之后将SI的内容与DI的内容相加并将结果送DI。指令执行后,SI=0017H, DI=DI+0017H
4.3 试编写求两个无符号数双字长数之和的程序。两数分别在MEM1和MEM2单元中,其和放在SUM单元。
DSEG SEGMENT
MEM1 DW 1122H, 3344H
MEM1 DW 5566H, 7788H
SUM DW 2 DUP(?)
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG, DS:DSEG
START: MOV AX, DSEG
MOV DS,AX
LEA BX, MEM1
LEA SI, MEM2
LEA DI, SUM
MOV CL,2
CLC
AGAIN: MOV AX,[BX]
ADC AX, [SI]
MOV [DI], AX
ADD BX, 2
ADD SI, 2
ADD DI, 2
LOOP AGAIN
MOV AX, 4C00h
INT 21h
CSEG ENDS
END START
4.4 试编写程序,测试AL寄存器的第4位(B4)是否为零?
如:TEST AL, 10H
JZ NEXT
….
NEXT:…..
或者:
MOV CL,4
SHL AL, CL
JNC NEXT
……
NEXT:…..
4.5 试编写程序,将BUFFER中的一个8位二进制数转化为ASCII码,并按位数高低顺序存放ANSWER开始的内存单元中。
解:
DSEG SEGMENT
BUFFER DB ?
ANSWER DB 3 DUP(?)
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG, DS:DSEG
START: MOV AX, DSEG
MOV DS, AX
MOV CX, 3
LEA DL, ANSWER
XOR AX,AX
MOV AL, BUFFER
MOV BL,0AH
AGAIN: DIV BL
ADD AH,30H
MOV [DI],AH
INC DI
AND AL,AL
JZ STO
MOV AH, 0
LOOP AGAIN
STO: MOV AX, 4C00H
INT 21H
CSEG ENDS
END START
4.6 假设数据项定义如下:
DATA1 DB ‘HELLO!GOOD MORNING’
DATA2 DB 20 DUP(?)
用串操作指令编写程序段,使其分别完成一下功能。
从左到右将DATA1中的字符串传送到DATA2中;
传送完后,比较DATA1和DATA2中的内容是否相同;
把DATA1中的第3个字节和第四个字节装入AX;
将AX的内容存入DATA2+5开始的字节单元中;
解:(1)
MOV AX, SEG DATA1
MOV DS, AX
MOV AX, SEG DATA2
MOV ES, AX
LEA SI, DATA1
LEA DI, DATA2
MOV CX,20
CLD
REP MOVSB
(2) EA SI, DATA1
LEA DI, DATA2
MOV CX,20
CLD
REPE CMPSB
(3)LEA SI, DATA1
ADD SI,2
LODSW
(4) LEA DI, DATA2
ADD DI, 5
MOV CX, 7
CLD
REP STOSW
4.7 执行下列指令后,AX寄存器中的内容是多少?
TABLE DW 10,20,3
文档评论(0)