Exam4:
CODES SEGMENT ASSUME CS:CODES START:
XOR BX,BX MOV DL,2AH MOV CX,9
LOP: PUSH CX INC BL MOV CL,BL MOV DL,2AH LOP2: MOV AH,02H INT 21H LOOP LOP2 POP CX
MOV DL,0AH MOV AH,02H INT 21H
MOV DL,0DH MOV AH,02H INT 21H CMP BL,9 JZ ENDPRO LOOP LOP ENDPRO:
MOV AH,4CH INT 21H CODES ENDS
END START
Exam5:
STACK SEGMENT STACK DB 1024 DUP(0) STACK ENDS DATA SEGMENT
BUF DW 0F101H,110DH,52H,100H,456H COUNT =($-BUF)/2
RESULT DW 4 DUP(?),'$' DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK WDADD PROC PUSH DI MOV AX, 0 MOV DX, 0
MOV DI, OFFSET BUF NEXT2: ADD AX, [DI] JNC NEXT1 INC DX
NEXT1: ADD DI, 2 LOOP NEXT2
POP DI RET
WDADD ENDP SHOW PROC PUSH CX PUSH DI
MOV CX, 04H
MOV DI, OFFSET RESULT MOV BX, AX ADD DI, 07H
BBB: MOV AX, BX AND AX, 000FH CMP AL, 0AH JB QQQ
ADD AL, 07H
QQQ: ADD AL, 30H MOV [DI], AL DEC DI PUSH CX
MOV CL, 04 SHR BX, CL POP CX LOOP BBB
MOV CX, 0004H CCC: MOV AX, DX AND AX, 000FH CMP AL, 0AH JB DDD
ADD AL, 07H
DDD: ADD AL, 30H MOV [DI], AL DEC DI PUSH CX
MOV CL, 04H SHR DX, CL POP CX LOOP CCC POP DI POP CX RET
SHOW ENDP
BEGIN: MOV AX, DATA MOV DS, AX MOV CX, COUNT
CALL WDADD CALL SHOW
MOV DX, OFFSET RESULT MOV AH, 09H INT 21H
MOV AH, 4CH INT 21H CODE ENDS END BEGIN
实验三 算术运算与代码转换程序设计
一、实验目的
1)掌握算术运算程序的设计方法。 2)掌握代码转换程序的设计方法。 3)进一步掌握各种程序结构。
4)熟练掌握和使用用DEBUG调试程序。 二、实验内容
1)编制两个多字节整数加法和减法程序,并将结果按十六进制形式显示在屏幕上。
2)编制程序实现二进制定点数与十进制数的ASCII码串之间转换,并将结果显示在屏幕上。
3)编写程序计算从键盘输入两个不超过四位的十进制数的和、差、积、商,并以十进制形式输出。
4)写程序把从键盘输入的四位十六进制数转换为压缩的BCD码,并显示输出。
5)编写一通用过程用来将十进制数(从键盘输入)转换为P(从键盘输入)进制数。 三、实验设备 PC机一台 四、实验步骤
1) 按程序流程图编制实验程序。 2) 输入源程序。
3) 汇编、连接程序,执行程序,检查结果。 4) 程序的执行可用DEBUG的G命令,也可用T命令单步跟踪执行。 5) 用D命令检查执行结果。
五、实验报告的要求
1)列出源程序。
2)对程序中用到的寄存器说明其功能。 3)总结算术运算和代码转换程序的设计方法。
4) 说明怎样使用DEBUG进行程序调试的。调试过程中所遇到的问题是如何解决的。