汇编上机实验报告心得体会.docx汇编语言程序设计
第一次上机作业
从键盘上接受一个字符,找出他的前导字符和后继字符,按顺序显示这三个字符。 寄存器分配:
AL:存输入值x
DL:输出显示 流程图:如右图所不
DATA SEGMENT
A DBO
DATA ENDS
STACK SEGMENT STACK
DB 200 DUP(O)
STACK ENDS
CODE SEGMENT
ASSUME DS:DATA,SS:STACK,CS:CODE
MOV
AX,DATA
MOV
DS,AX
MOV
AH,1
INT
21H
INC
AL
MOV
DL,AL
MOV
AH,2
INT
21H
DEC
AL
MOV
DL,AL
MOV
AH,2
INT
21H
DEC
AL
MOV
DL,AL
MOV
AH,2
INT
21H
CODE ENDS
ENDS
S:MOV
AX,DATA
MOV
DS,AX
MOV
AH,1
INT
21H
CMP
AL,'O'
JNGE
B
CMP
AL,9
JGE
B
LEA
DX,EA
MOV
AH,9
INT
21H
JMP
C
B: LEA
DX,BUF
MOV
AH,9
INT
21H
C: MOV
AH,4CH
INT
21H
CODE ENDS
END S
从键盘上输入一个数字字符,如不是,显示'not odd',否则显示'odd'。 寄存器分配:
AL:存输入值x
DL:输出显示
流程图:如右图所不
程序代码如下:
DATA SEGMENT
ADB 0
BUF DB,'NOT ODD$!
EA DB/ODDS1
DATA ENDS
STACK SEGMENT STACK
DB 200 DUP(O)
STACK ENDS
CODE SEGMENT
ASSUME DS:DATA,SS:STACK,CS:CODE
第二次上机作业
将以H为首地址的字节存储区中的技能被3整除又能被13整除的无符号整数的个数(假 定v=9)显示出来;同时对应的显示它们分别对应的地址偏移量。(利用多种寻址方式做)
DATA SEGMENT
寄存器分配:SI:存H的偏移地址
H DW 1,3,5,39,13,117,15,17,$
N =$-H
B DW3
C DW 13
D DWO
DATA ENDS
STACK SEGMENT STACK
DB 200 DUP(O)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:STACK,DS:DATA
BEGIN: MOV AX,DATA
MOV DS,AX
MOV CX,0
MOV BX,N
LEA SI,H
LOPA: MOV AX,SI
DIV B
MOV D,DX
JNZ NEXT
DIV C
MOV D,DX
JNZ NEXT
MOV DL,[SI]
MOV AH,2
INT 21H
INC CX
INC SI
DEC DX
JNZ LOPA
NEXT: INC SI
DEC DX
JNZ LOPA
EXIT: MOV DL,CL
MOV AH,2
INT 21H
MOV AH,4CH
CX:计数
INT 21H
CODE ENDS
END BEGIN
在以TAB为首地址的字存储区中存放有n个无符号数,统计低三位全为一的数的个数。 寄存器分配:SI: TAB的偏移地址
AX:存[SI]
开始
DX:计个数 CX:循环计数
STACK SEGMENT STACK
DB 200 DUP(O)
TAB首地址-SI
7H—BX;0f DL
N—CX
STACK ENDS
DATA SEGMENT
TAB DW 4,9,10,20,30,40 '
N =($-TAB)/2
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:STACK,DS:DATA
BEGIN:
MOV AX,DATA
MOV
DS,AX
MOV
DX,0
MOV
CX,N
MOV
BX,7H
LEA
SI,TAB
MOV
AX,SI
AND
AX,BX
CMP
AX,BX
JNE
EXIT
INC
DX
INC
SI
DEC
CX
JNZ
LOPA
INC
SI
DEC
CX
JNZ
LOPA
MOV
DL,DL
MOV
AH,2
INT
21H
汇编上机实验报告心得体会 来自淘豆网m.daumloan.com转载请标明出处.