2012微机原理14道题目
1. 在XXX单元中存放一个数x(0≤x≤15),请用查表法的方法计算x的平方,并将结果保存到YYY单元中。
课本197页
2. 已知数组由100个字组成,存放在数据段中以偏移地址为ARY开始的内存中,试编写程序求出这个数组元数之和,结果存放在的数据段中以偏移地址为SUM开始的内存中。
课本184页
3.试编写一程序,将数据段中偏移地址为BUF1开始的100个数据传送到偏移地址为BUF2开始的连续内存单元中去。
STACK SEGMENT STACK'STACK' DW 100 DUP(?) STACK ENDS DATA SEGMENT
BUF1 DB 100 DUP(?) BUF2 DB 100 DUP(?) SRCADR DW ? DSTADR DW ? LEN DW ? DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA MAIN PROC
START: MOV AX,DATA MOV DS,AX MOV ES,AX LEA AX,BUF1 MOV SRCADR,AX MOV LEN,100 CALL MVDAT MOV AX,4CH INT 21H MAIN ENDP MVDAT PROC
MOV SI,SRCADR MOV DI,DSTADR MOV CX,LEN CLD
CMP SI,DI JA DONE STD
ADD SI,CX
DEC SI ADD DI,CX DEC DI
DONE: REP MOVSB RET MVDAT ENDP CODE ENDS
END START
4. 编写一个程序,实现SUM=a1+a2+??+a20。已知a1~a20依次存放在以BUF为首址的数据区,每个数据占两个字节,SUM也是两个字节。 DATA SEGMENT
DAT DW 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 SUM DW ? DATA ENDS
CODE SEGMENT
MAIN PROC FAR
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX,0 MOV SUM,AX
MOV SI,OFFSET DAT MOV CX,20 LP1: ADD AX,[SI] INC SI INC SI LOOP LP1
MOV SUM,AX MOV AH,4CH INT 21H MAIN ENDP CODE ENDS
END START
5.试编写一程序,将AX中的各位去反,然后统计出AX中“0”的个数,将结果存到CL中。 CODE SEGMENT
MAIN PROC FAR
ASSUME CS:CODE START: MOV AX,0E001H MOV DL,0 MOV CL,16 NOT AX
RETEST: AND AX,AX JS SKIP
INC DL SKIP: SHL AX,1 LOOP RETEST MOV CL,DL EXIT: MOV AH,4CH INT 21H MAIN ENDP CODE ENDS
END START
6.在内存数据段存储器中,从ADDR单元开始存有一个字符串,它以“$”符号作为结束标志,试编写程序统计该字符串的长度($字符不计入长度),并把长度值存入LETH字单元。 DATA SEGMENT
ADDR DB 'LIUBIN$' LETH DW ? DATA ENDS
STACK SEGMENT PARA STACK'STACK' DB 100 DUP(?) STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX
MOV BX,OFFSET ADDR MOV CX,0 LP: MOV AL,[BX] CMP AL,'$' JE DONE INC CX INC BX JMP LP
DONE: MOV ADDR,CX MOV AH,4CH INT 21H CODE ENDS
END START
7. 试编写一程序,要求实现将ASCII码表示的两位十进制数转换为一字节二进制数,其中高地址单元存放十位数。
课本200页
8. 编程在显示器上输出你自己的汉语拼音姓名的子程序。
课本155页
.9将数据0-63置入到内存中以BUF为首址的连续64个字节单元中。
课本198页
10.试编写一程序,把数组STRING中存放的20个8位二进制数分成正数数组和负数数组,并统计正数、负数和零的个数,结果分别存放到P、M、Z三个单元。
DATA SEGMENT STRING
DW
2
DUP(3045H,0FD34H,0D3DH,9899H,0,3DF2H,0,0FFDEH,93FDH,0DE6CH) P DW 20 DUP(?) M DW 20 DUP(?) Z DW 20 DUP(?) DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:
MOV AX,DATA MOV DS,AX XOR BP,BP
LEA SI ,P ;正数 LEA DI ,M ;负数 LEA BP ,Z ;零 PUSH SI PUSH DI PUSH BP
LEA BX,STRING MOV CX,20 LL:
MOV AX,[BX] PUSH AX ADD AX,AX JZ L1 POP AX PUSH AX SAL AX,1 JC L2
POP AX MOV [SI] ,AX ADD SI,2 JMP LA LA:
ADD BX ,2 LOOP LL XOR MOV POP MOV SUB SHR MOV POP MOV SUB SHR MOV POP MOV SUB SHR MOV MOV INT L1:
POP MOV ADD JMP L2:
POP MOV ADD CX,CX CX,2 AX DX,BP DX,AX DX,CL [BP] ,DX AX DX,DI DX,AX DX,CL [DI] ,DX AX DX,SI DX,AX DX,CL [SI] ,DX AH,4CH 21H AX [BP],AX BP ,2 LA AX [DI] ,AX DI,2
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库微机原理整理后在线全文阅读。
相关推荐: