微机原理整理后

2018-12-10 15:55

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


微机原理整理后.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:如何当好企业经理 (3

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: