学期: 2014 至 2015 学年度 第 2 学期 课程:
微机系统与接口技术
使用班级:130804~130808 姓名: 学号:
题号 得分
一、 得分 (14分)
一 二 三 四 五 六 七 八 九 总分 数据段定义如下,请写出执行下列程序时右边寄存器或标志状态的内容。
数据段
DATAS SEGMENT
V1 DB 25H, 4AH, 6 DUP (0BBH) NUM=$-V1
V2 DB ‘ A68RTISNOT’ V3 DW 2346H, 567CH DATAS EBDS
代码片段
MOV AL, V1 AL = ( 25H ) MOV AH, V1+1 AX = ( 4A25H ) MOV BX, V3 BX= ( 2346H ) ADD BX, AX BX= ( 6D6BH ) MOV SI, OFFSET V1 ADD SI,2
MOV DL,[SI] DL= (0BBH ) MOV DH, V2+ 1 DX= ( 36BBH ) STC CF= ( 1 )
ADC BX, DX BX= ( A427H ) MOV CX, NUM CX= ( 0008H ) AND AL, CL AL = ( 00H ) MOV BX, 1000H BX= ( 1000H ) DEC BX BX= ( 0FFFH )
CMP BX,0FFFH ZF= ( 1 ), BX=( 0FFFH )
二、 得分 (6分)
2 将下列程序执行后的结果填入相应的寄存器中
MOV AX, 700 MOV BX,800 MOV CX, 10
第 1 页 共 8 页
MOV DX,15
MOV SI,6000H -000AH MOV DI, 2000H
LAB: SUB AX,CX ADD BX, DX DEC SI INC DI LOOP LAB HALT
AX=(0285H 5 ), BX=( 03B6H 950 ), CX=(0000H ), DX=(000FH ), SI=( 5FF6H ), DI= (200AH)
三、 得分 (30分)
标志判断
MOV AX,1000H
CMP AX, 2000H CF=(1 ), ZF=( 0 ), SF=( 1 ), OF=( 0 ), PF=(0 ) XOR AX CF=( 0 ), ZF=( 1 ), SF=( 0 ), OF=( 0 ), PF=( 1 ) DEC AX CF=( 1 ), ZF=(0 ), SF=( 1 ), OF=( 0 ), PF=( 0 ) SUB AX, 0FFFH CF=( 0 ), ZF=( 1 ), SF=( 0 ), OF=( 0 ), PF=(1 ) OR AX, 63ACH CF=( 0 ), ZF=( 1 ), SF=( 0 ), OF=( 0 ), PF=( 1 ) ADD AX, 0BC85H CF=( 0 ), ZF=( 1 ), SF=( 0 ), OF=( 0 ), PF=( 0 ) 四、 得分 (10分)
数据段定义如下,请编制一个计算Y= X2+2X+5的程序,并将计算结果的十六制数显式在屏幕上。
DATAS SEGMENT X DB 56 Y DW ?
ASC DB 4 DUP(?), ‘$’ DATAS ENDS
MOV AL,X MOV BL,X
MUL BL ; AX=X*X MOV DX,AX MOV AL,X XOR AH,AH SHL AX,1 ;AX=2X ADD AX,DX ; AX=X+2X
2
ADD AX,5 ;AX=X+2X+5 MOV Y,AX
MOV SI,OFFSET Y
MOV CX,4 ;循环计数
第 2 页 共 8 页
2
MOV DI,OFFSET ASC ADD DI,03H MOV DX,[SI] A1: MOV AX,DX AND AX,000FH CMP AL,0AH JB A2
ADD AL,07H A2: ADD AL,30H MOV [DI],AL DEC DI
SHR DX,4 ; 右移4位 LOOP A1
MOV DX,OFFSET ASC MOV AH,09H INT 21H 五、 得分 (10分)
数据段定义如下,请编制一个计算Y=A* X+B的程序, 并将计算结果转换成十进制数显式在屏幕上。
DATAS SEGMENT X DB 56 A DB 20 B DB 67 Y DW ?
ASC DB 5 DUP(?), ‘$’ DATAS ENDS
MOV AL,X
MOV BL,A MUL BL ADD AL,B MOV Y,AX
MOV AX,DATAS MOV DS,AX MOV DX,Y
MOV SI,OFFSET ASC MOV DI,SI ADD SI,0005H A1: DEC SI
MOV AX,DX MOV DX,0000H MOV CX,000AH DIV CX
XCHG AX,DX ADD AL,30H MOV [SI],AL
第 3 页 共 8 页
CMP DX,0000H JNZ A1 A2: CMP SI,DI JZ A3 DEC SI
MOV AL,30H MOV [SI],AL JMP A2
A3: MOV DX,OFFSET ASC MOV AH,09H INT 21H
六、 得分 (10分)
数据段定义如下,请编制一个分支程序实现下列函数功能。
X2+20 当X <10 Y= 10* X+20 当 10≤X<20 220 当 X≥20
DATAS SEGMENT X DB 56 Y DW ? DATAS ENDS XOR AH,AH
MOV AL,X CMP AL,10
JL A1 ;小于 10 CMP AL,20
JGE A2 ; 大于等于 20 MOV BL,10 MUL BL ADD AX,20 JMP A3
A1: MOV BL,AL MUL BL ADD AX,20 JMP A3
A2: MOV AX,220 A3: MOV Y,AX
七、 得分 (10分)
数据段定义如下,请编制一个循环程序计算S=1+2+...+100 的求和程序,并将计算的结果存在SUM单元中。(自己根据需要定义数据段)
第 4 页 共 8 页
DATAS SEGMENT ;数据段 ;请在这里定义您的数据
SUM DW ? DATAS ENDS
CODES SEGMENT ;代码段 ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS ;初始化 MOV DS,AX ;请在这里添加您的代码
MOV CX,100 XOR AX,AX ADDITION: ADD AX,CX LOOP ADDITION
MOV SI,OFFSET SUM MOV [SI],AX
得分 八、 (10分)
编制一个n!循环计算程序,当计算结果大于1000时结束,并将结果存在NF单元中。(自己根据需要定义数据段)
DATAS SEGMENT ;数据段 ;请在这里定义您的数据 N DB 80 NF DW ? DATAS ENDS
CODES SEGMENT ;代码段 ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS ;初始化 MOV DS,AX ;请在这里添加您的代码
XOR CX,CX XOR AX,AX MOV CL,N MOV AL,N DEC AL A1: MUL CX
第 5 页 共 8 页
CMP AX,1000 JG A2 LOOP A1
A2: MOV SI,OFFSET NF MOV [SI],AX
九、 得分 选作题(加10分)
改编第五题,利用INT 21H中断的0AH号功能调用,从键盘上输入X=0~255,A=0~255,B=0~255,然后计算Y=A* X+B的程序, 并将计算结果转换成十进制数显式在屏幕上。(自己根据需要定义数据段)
DATAS SEGMENT ;数据段 ;请在这里定义您的数据
X DB ? A DB ? B DB ? Y DW ?
ASC DB 5 DUP(?), '$' BUF DB 5 DB 0
DB 5 DUP(0)
DATAS ENDS
CODES SEGMENT ;代码段 ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS ;初始化 MOV DS,AX ;请在这里添加您的代码
MOV CX,0 CALL HEXP B1: MOV X,AL CALL HEXP B2: MOV A,AL CALL HEXP HEXP PROC
INC CX
XOR DX,DX LEA DX,BUF MOV AH,0AH INT 21H
MOV SI,OFFSET BUF+1 ; 取出字符个数
第 6 页 共 8 页
PUSH CX MOV CL,[SI] DEC CL
MOV CH,00H MOV BX,000AH MOV AH,00H INC SI
MOV AL,[SI] ;取出第一个字符 SUB AL,30H B3: MUL BX
MOV DX,[SI+1] AND DX,00FFH ADD SUB INC LOOP POP HEXP ENDP
CMP JZ CMP JZ MOV
MOV MOV MUL ADD MOV MOV MOV MOV MOV MOV ADD A1: DEC MOV MOV MOV DIV XCHG ADD MOV CMP JNZ A2: CMP JZ AX,DX AX,30H SI B3 CX CX,1 B1 CX,2 B2 B,AL AL,X BL,A BL AL,B Y,AX
AX,DATAS DS,AX DX,Y
SI,OFFSET ASC DI,SI SI,0005H SI
AX,DX DX,0000H CX,000AH CX
AX,DX ; 余数和商换位 AL,30H [SI],AL DX,0000H A1 SI,DI A3
第 7 页 共 8 页
DEC SI
MOV AL,30H MOV [SI],AL JMP A2
A3: MOV DX,OFFSET ASC MOV AH,09H INT 21H
第 8 页 共 8 页
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- net188.cn 版权所有 湘ICP备2022005869号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务