汇编上机实验报告心得体会.doc
文本预览下载声明
汇编语言程序设计
第一次上机作业
1.从键盘上接受一个字符,找出他的前导字符和后继字符,按顺序显示这三个字符。
寄存器分配:
AL:存输入值x
DL:输出显示
流程图:如右图所示
DATA SEGMENT
A DB 0
DATA ENDS
STACK SEGMENT STACK
DB 200 DUP(0)
STACK ENDS
CODE SEGMENT
ASSUME DS:DATA,SS:STACK,CS:CODE
S: 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
END S
2.从键盘上输入一个数字字符,如不是,显示‘not odd’,否则显示‘odd’。
寄存器分配:
AL:存输入值x
DL:输出显示
流程图:如右图所示
程序代码如下:
DATA SEGMENT
A DB 0
BUF DB,NOT ODD$
EA DB,ODD$
DATA ENDS
STACK SEGMENT STACK
DB 200 DUP(0)
STACK ENDS Y
CODE SEGMENT
ASSUME DS:DATA,SS:STACK,CS:CODE
S: MOV AX,DATA N
MOV DS,AX
MOV AH,1
INT 21H Y
CMP AL,0
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
第二次上机作业
1.将以H为首地址的字节存储区中的技能被3整除又能被13整除的无符号整数的个数(假定=9)显示出来;同时对应的显示它们分别对应的地址偏移量。(利用多种寻址方式做)
DATA SEGMENT 寄存器分配:SI:存H的偏移地址
H DW 1,3,5,39,13,117,15,17,$ CX:计数
N =$-H DX:存余数
B DW 3 BX:循环计数
C DW 13
D DW 0
DATA ENDS
STACK SEGMENT STACK
DB 200 DUP(0)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:STACK,DS:DATA
BEGIN: MOV AX,DATA N
MOV DS,AX
MOV CX,0 Y
MOV BX,N
LEA SI,H N
LOPA: MOV AX,SI
DIV B
MOV D,DX Y
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 N
NEXT: INC SI
DEC DX
JNZ LOPA Y
EXIT: MOV DL,CL
MOV AH,2
INT 21H
显示全部