您好,欢迎来到99网。
搜索
您的当前位置:首页微机编程题

微机编程题

来源:99网
1、试编写程序,统计数据段中以BUFFER为首地址的连续200个字节单元中0的个数,并把统计结果保存到RESULT单元中。 DATA SEGMENT

BUFFER DB 200 DUP (?) RESULT DB ? DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX, DATA MOV DS,AX LEA SI,BUFFER LEA DI,RESULT

MOV CX,200 MOV AL,0 MOV BL,0 NEXT:CMP BL,[SI] JNZ AA INC AL AA: INC SI LOOP NEXT MOV [DI],AL MOV AH,4CH INT 21H CODE ENDS END START

2、试编写求出两个无符号双字数据:11223344H与55667788H之和的程序。两数分别在MEM1和MEM2单元中,和放在SUM单元中.

DATA SEGMENT

MEM1 DD 1122334H MEM2 DD 55667788H SUM DD ? DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX, DATA MOV DS,AX LEA SI,MEM1 LEA DI,RESULT LEA BX,MEM2 MOV CX,4 CLC NEXT:MOV AL,[SI] ADC AL,[BX]

MOV [DI],AL INC SI INC BX INC DI

LOOP NEXT MOV AH,4CH INT 21H CODE ENDS END START

3、试编写(近程)子程序,将BUFFER中的一个压缩BCD码的高4位和低4位分别转换为ASCII码,并按位数高低顺序存放到ANSWER开始的内存单元里。 AAA PROC

PUSH AX PUSH DI PUSH CX

MOV AL,BUFFER AND AL,0FH OR AL,30H

LEA DI,ANSWER MOV [DI],AL

MOV AL,BUFFER MOV CL,4 SHR AL,CL

AND AL,0FH OR AL,30H MOV [DI+1],AL POP CX POP DI POP AX RET

AAA ENDP

4、假设数据定义如下:用串操作指令编写程序,使其完成以下功能 DATA1 DB ‘HELLO!GOOD MORNING!’ DATA2 DB 20 DUP (?)

(1)从左到右将DATA1中的字符串传送到DATA2中。

(2)传送完后,比较DATA1和DATA2中的内容是否相同,若相同就返回DOS,若有不同则再传送一次。若都相同则返回DOS。 DATA SGMENT

DATA1 DB ‘HELLO!GOOD MORNING!’ DATA2 DB 20 DUP (?) DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:DATA START:MOV AX,DATA

MOV DS,AX MOV ES,AX NEXT:LEA SI,DATA1

LEA DI,DATA2 MOV CX,20 CLD REP MOVSB

LEA SI,DATA1 LEA DI,DATA2 MOV CX,20 REPE CMPSB JNZ NEXT

MOV AH,4CH INT 21H CODE ENDS END START

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 99spj.com 版权所有 湘ICP备2022005869号-5

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务