(微机原理及应用)编程题-试题集
重庆科技学院试题库系统试题库导出试题
微机原理及应用-编程题(43题)
题序:0017题型:06难度:01分值:10.0章号:03节号:02
知识点:
;8086/8088指令系统
题干:
变量DATAX和DATAY定义如下:
DATAX DW 0148H
DW 2316H
DA TAY DW 0237H
DW 4052H
试编写一个程序段,实现将DATAX和DA TAY两个字数据相乘(用MUL)。答案:
解:(1) MOV AX, DATAX
MUL DATAY
MOV DATAY,AX
MOV DATAY+2,DX
题序:0018题型:06难度:02分值:10.0章号:03节号:02
知识点:
;8086/8088指令系统
题干:
变量DATAX和DATAY定义如下:
DATAX DW 0148H
DW 2316H
DA TAY DW 0237H
DW 4052H
试编写一个程序段,实现将DATAX除以23(用DIV)。
答案:
解:(1) MOV AX, DATAX
MOV BL, 23
DIV BL
MOV BL,AH
MOV AH, 0
MOV DATAY, AX ;存放商
MOV AL,BL
MOV DATAY+2, DX ;存放余数
题序:0002题型:06难度:03分值:10.0章号:03节号:02
知识点:
;8086/8088指令系统
题干:
试编写一个程序段,实现将BX中的数除以10,结果仍放在BX中。
答案:
解: MOV CL,0AH
MOV AX,BX
DIV CL
MOV BX,AX
题序:0016题型:06难度:03分值:10.0章号:03节号:02
知识点:
;8086/8088指令系统
题干:
变量DATAX和DATAY定义如下:
DATAX DW 0148H
DW 2316H
DA TAY DW 0237H
DW 4052H
试编写一个程序段,实现将DATAX和DA TAY中的两个双字数据相加, 和存放在DA TAY和答案:
解:(1) MOV AX, DATAX
ADD AX, DATAY
MOV BX, DATAX+2
ADD BX, DATAY+2
MOV DATAY, AX
MOV DATAY+2, BX
题序:0020题型:06难度:03分值:10.0章号:03节号:02
知识点:
;8086/8088指令系统
题干:
变量N1和N2均为2字节的非压缩BCD数码,请写出计算N1与N2之差的指令序列。
答案:
解: MOV AX, 0
MOV AL, N1+1
SUB AL, N2+1
AAS
MOV DL, AL
MOV AL, N1
SBB AL, N2
AAS
MOV DH, AL
题序:0006题型:06难度:02分值:10.0章号:04节号:02
知识点:
;汇编语言及程序设计
题干:
编写程序实现对两个存储区中的字进行比较。如找到一对不同的字,则退出,此时,ZF为0,DI 指向此字;如两个存储区中所有的字都相同,则退出程序时,CX中值为0,ZF为1。
答案:
解: MA TT: MOV SI, OFFSET SOURCE ; 源区首址
MOV DI, OFFSET TARGET ; 目的区首址
MOV CX, NUMBER
JCXZ EXIT ; 如CX为0,则结束
PUSH CX ; 保存有关寄存器
PUSH SI
PUSH DI
CLD ; 清方向标志
REPE CMPSW
JZ MA TCH ; 比较
PUSHF ; ZF为1,则转移
SUB DI, 2 ; ZF为0,则DI指向次字
POPF
JMP EXIT ; 推出
MATCH: POP DI ; 恢复寄存器
POP SI
POP CX
EXIT: RET
题序:0015题型:06难度:02分值:10.0章号:04节号:02 知识点:
;汇编语言及程序设计
题干:
根据下列要求编写一个汇编语言程序::
(1)代码段的段名为COD_SG
(2)数据段的段名为DA T_SG
(3)堆栈段的段名为STK_SG
(4)变量HIGH_DA T所包含的数据为95
(5)将变量HIGH_DAT装入寄存器AH,BH和DL (6)程序运行的入口地址为START
答案:
解: DAT_SG SEGEMNT
HIGH_DAT DB 95
DA T_SG ENDS
;
STK_SG SEGMENT
DW 64 DUP(?)
STK_SG ENDS
;
COD_SG SEGMENT
MAIN PROC FAR
ASSUME CS: COD_SG, DS: DA T_SG, SS: STK_SG START: MOV AX, DAT-SG
MOV DS, AX
MOV AH, HIGH_DA T
MOV BH, AH
MOV DL, AH