- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理期末考试复习.
1、统计出某数组中相邻两数之间符号变化的次数
DATA SEGMENT
ARRAY DB 20 DUP (?)
NUM DB 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
STARTUP:LEA SI , ARRAY;
MOV AL ,[SI]
MOV BL,0
MOV CX,19
AGAIN: INC SI
XOR AL ,[SI]
J NS NEXT
INC BL
NEXT: MOV AL ,[SI]
LOOP AGAIN
MOV NUM,BL
MOV AH ,4CH
INT 21H
CODE ENDS
END STARTUP
2、乘法指令实现32位二进制数与16位二进制数相乘
MODEL SMALL
.8086
.DATA
N1 DW 1234H
N2 DW 5678H
N3 DW 4444H
M1 DW 0
M2 DW 0
M3 DW 0
CODE
. STARTUP
MOV AX ,N2
MUL N3
MOV M3,AX
MOV M2,DX
MOV AX,N3
MUL N1
ADD M2,AX
ADC M1,DX
.EXIT
END
3、设有3个自变量的变量名及其内容如下:
VAR1 3C46H , VAR2 F678H , VAR3 0059H
设计一个数据段定义这三个变量及其地址表变量DDRTABL
DATA SEGMENT
VAR1 DW 3C46H
VAR2 DW F678H
VAR3 DW 0059H
ADDRTABL
DD VAR1
DD VAR2
DD VAR3
DATA ENDS
4、设有一个符号数组,共M个,求其中最大的数,如需要求绝对值最大应如何修改,如为无符号数,程序如何修改。
DATA SEGMENT
M EQU 10
DAT DW M DUP(?)
MAX DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE ,DS:DATA
STARUP : MOV AX ,DAT
MOV MAX ,AX
CLD
LEA SI ,DAT
MOV CX ,M
L1: LODSW
CMP AX ,MAX
JNG LAB
MOV MAX ,AX
LAB : LOOP L1
MOV AH ,4CH
INT 21H
CODE ENDS
END STARTUP
绝对值修改:需要在LODSW插入
AND AX ,AX
JNS LAB1
NEG AX
LAB1: CMP AX ,MAX
程序初始化时MAX应送入0
无符号数程序修改:
判别条件CMP AX ,MAX
JNG LAB
修改为CMP AX,MAX
JBE LAB
5、编制一个程序将20个字节的数组分为正数和负数组,并计算两个数组中数据的个数
DATA SEGMENT
DAT DB 20 DUP (?)
PDAT DB 20 DUP(?)
PDAT DB ?
PLEN DB ?
NDAT DB 20 DUP (?)
NLEN DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE ,DS:DATA
STARTUP:
XOR BX ,BX
LEA SI ,DAT
XOR DI,DI
CLD
MOV CX,20
LOOP0 : LODSB
CMP AL,0
JGE LOOP1
MOV NDAT[BX] ,AL
INC BX
JMP LAB
LOOP1:
MOV PDAT[DI] ,AL
INC DI
LAB: DEC CX
JNZ LOOP0
MOV PLEN ,DI
MOV NLEN,BX
MOV AH,4CH
INT 21H
CODE ENDS
END STARTUP
6、把从A开始的8个字节单元内容依次和从B开始的8个相应的字节单元内容互换。
DATA SEGMENT
A DB ABCDEFGH
B DB DATA ENDS
CODE SEGMENT
ASSUME CS:CODE ,DS:DATA
START: MOV AX ,DATA
MOV DS,AX
LEA SI ,A
LEA DI ,B
M
文档评论(0)