汇编上机题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.从键盘上接受一个字符,找出它的前导字符和后继字符,按序显示这三个字符。

STACK SEGMENT STACK

DB 200 DUP(0)

STACK ENDS

DA TA SEGMENT

BUF DB 'PLEASE INPUT A CHAR:$'

X =3

XX DB ?

DA TA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA

MOV DS,AX

LOPA: MOV CX,X

LEA DX,BUF

MOV AH,9

INT 21H

MOV DL,0DH

MOV AH,2

INT 21H

MOV DL,0AH

MOV AH,2

INT 21H

MOV AH,1

INT 21H

DEC AL

LOPA1: MOV XX,AL

MOV DL,XX

MOV AH,2

INT 21H

INC AL

DEC CX

JNE LOPA1

MOV DL,0DH

MOV AH,2

INT 21H

MOV DL,0AH

MOV AH,2

INT 21H

JMP LOPA

MOV AH,4CH

INT 21H

CODE ENDS

END START

2.从键盘上接受一个数字字符,如不是,显示

“not odd”,否则显示“odd”。

STACK SEGMENT STACK

DB 200 DUP(0)

STACK ENDS

DA TA SEGMENT

BUF DB 'PLEASE INPUT A NUMBER:$'

A D

B 'not odd$'

B DB 'odd$'

DA TA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK BEGIN: MOV AX,DATA

MOV DS,AX

LEA DX,BUF

MOV AH,9

INT 21H

MOV AH,1

INT 21H

CMP AL,30H

JB N

CMP AL,39H

JA NEXT

LEA DX,B

MOV AH,9

INT 21H

JMP EXIT

N: LEA DX,A

MOV AH,9

INT 21H

EXIT: MOV AH,4CH

INT 21H

CODE ENDS

END BEGIN

1.将以H为首地址的字节存储区中的既能被3整除也能被13 整除的无符号整数的个数(假定≤9)显示出来,同时对应的显示它们分别对应的地址偏移量。(利用多种寻址方式做)STACK SEGMENT STACK

DB 200 DUP(0)

STACK ENDS

DA TA SEGMENT

H DB 3,15,26,39

DB 43,78,156,210

COUNT =$-H

NULL1 DB ' $'

DA TA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DA TA,SS:STACK START: MOV AX,DATA

MOV DS,AX

MOV CH,COUNT

MOV CL,0

MOV DX,3

MOV DI,13

LOPA: LEA BX,H

MOV AX,[BX]

DIV DX

CMP AH,0

JNE N

MOV AX,[BX]

DIV DI

JNE N

MOV DL,[BX]

MOV AH,2

INT 21H

LEA SI,NULL1

MOV AH,9

INT 21H

MOV DL,CX

MOV AH,2

INT 21H

MOV DL,0AH

MOV AH,2

INT 21H

MOV DL,0DH

INT 21H

INC CL

INC BX

DEC CH

JNE LOPA

MOV DL,CL

MOV AH,2

INT 21H

N: MOV AH,4CH

INT 21H

CODE ENDS

END START

2.在以TAB为首地址的字存储区中存放有N个无符号数,试

统计低3位全为1的数的个数(个数设为≤9),并显示。

STACK SEGMENT STACK

DB 200 DUP(0)

STACK ENDS

DA TA SEGMENT

TAB DW 0005H,0015H,0017H,0118H

DW 1114H,1110H,22F2H,24F5H

COUNT =$-TAB

DA TA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DA TA,SS:STACK

BEGIN: MOV AX,DATA

MOV DS,AX

LEA BX,TAB

MOV CX,COUNT

MOV AL,0

MOV DX,[BX]

LOPA: AND DX,7

CMP DX,7

JNE N

INC AL

N: ADD BX,2

DEC CX

JNE LOPA

MOV DL,AL

MOV AH,9

INT 21H

MOV AH,4CH

INT 21H

CODE ENDS

END BEGIN

3.键盘接受一串字符到BUF为首地址的字节单元中,要求用下列方法分别编程,将它们以相反的次序显示在屏幕的下一行中:

(1).按地址从尾向前依次显示。

(2).利用堆栈反向显示。

(3).利用交换的方法反序后,然后显示:即ai<——>aj

STACK SEGMENT STACK

DW 128 DUP(?)

STACK ENDS

DATA SEGMENT

相关文档
最新文档