汇编语言1复习题(3)

2020-02-21 02:20

MOV NEXT: MOV MIN , HLT 4.下面程序段的功能是完成将DA1开始的单元中的0~9共10个数字转换成对应的ASCII码送ASC1开始的单元中存放。请将程序段补充完整。

DA1 DB 00H,01H,02H,03H,04H,05H,06H,07H,08H DB 09H

ASC1 DB 10 DUP(?) CUNT=ASC1-DA1 ……….

LEA SI,DA1 LEA DI,ASC1

LOP1:MOV AL,[SI]

MOV [DI],AL INC SI INC DI HLT

5.下列程序段是比较AX,BX,CX中带符号数的大小,将最大的数放在AX中。请将程序填充完整。

CMP AX,BX NEXT XCHG AX,BX NEXT: AX,CX JGE OUT

AX,CX OUT:

…….

6.下面程序是查找STRING中是否有“A”这个字符,如果有则转向YES去执行;没有则转向NO去执行。请将程序填充完整。 MOV CX,20 MOV BX,-1 MOV AL,’A’ NEXT: BX CMP AL,STRING[BX] NEXT

JNZ YES:…….. ……..

JMP NO:……… ………

EXIT:RET

五、程序设计题

1.编写程序:从键盘接收一个小写字母,然后找出它的前导字符和后续字符,并按顺序输出这三个字符。

stack segment stack ;定义堆栈段 dw 512 dup(?)

;堆栈段有512字(1024字节)空间 stack ends ;堆栈段结束 data segment ;定义数据段 data ends

code segment ’code’ ;定义代码段 assume cs:code,ds:data,ss:stack

start: mov ax,data ;建立DS段地址 mov ds,ax push ds sub ax,ax push ax input: mov ah,7H int 21H cmpe:

cmp al,20H JE exit cmp al,61H JL input cmp al,7AH JG input print:

sub al,01H mov dl,al mov ah,02H int 21H add al,01H mov dl,al mov ah,02H int 21H add al,01H mov dl,al mov ah,02H int 21H

;输出换行回车

mov dl,0AH mov ah,02H int 21H jmp input exit : ret

code ends END start

2.试编写一个程序,要求对键盘输入的小写字母用大写显示出来。

stack segment stack ;定义堆栈段 dw 512 dup(?)

;堆栈段有512字(1024字节)空间 stack ends ;堆栈段结束 data segment ;定义数据段 data ends

code segment ’code’ ;定义代码段 assume cs:code,ds:data,ss:stack

start: mov ax,data ;建立DS段地址 mov ds,ax

BEGIN: MOV AH, 1

INT 21H

CMP AL, ‘a’

JB STOP ;cf=1 且 zf =0 ,A >=B转移 CMP AL,’z’

JA STOP ;cf = 0 且 zf = 0 A>B 转移 SUB AL, 20H MOV DL, AL MOV AH, 2 INT 21H JMP BEGIN

STOP: RET ;利用功能调用返回DOS code ends ;代码段结束 end start

3.编写程序,要求从键盘上接收一个四位的16进制数,并在终端上显示出与它等值的二进制数。

4.定义一个数据区,它包含有23H,24H,25H和26H四个字符数据,把这个数据区复制20次,并显示出复制结果。

DATA SEGMENT

PATTERN DB 23H,24H,25H,26H DISPLAY DB 80 DUP(‘ ’),‘$’ DATE ENDS CODE SEGMENT ┇ CLD

LEA SI,PATTERN LEA DI,DISPLAY MOV CX,80 REP MOVSB MOV AH,09H

LEA DX,DISPLAY INT 21H RET CODE ENDS

5.编写4字节ASCII码数串‘3785’与1字节ASCII码‘5’相乘的程序。

6.有一长度为100个字符的字符串存放在以STRING为首址的字节单元中,其最后一个字符为换行字符(0AH),现要求将其全部设置成偶校验,试编制这一程序。

7.设在内存单元SQTAB首址开始存放了0~15的平方数表。要求用直接查表法编一程序,求出A单元中给定数(<=15=的平方值送B单元保存。(14分)

8.已知三个带符号的字节数据a,b,c存放在ADR开始的连续单元中,若a,b,c同时为正数则FLAG单元置0,若同时为负数,则FLAG单元置1,否则FLAG单元置全1,请编写完整源程序。


汇编语言1复习题(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016年教师资格证结构化面试真题

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

马上注册会员

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