河北工业大学汇编语言程序设计实验(4)

2019-08-20 18:43

河北工业大学汇编语言实验设计

1)编制两个多字节整数加法和减法程序,并将结果按十六进制形式显示在屏幕上。

2)编制程序实现二进制定点数与十进制数的ASCII码串之间转换,并将结果显示在屏幕上。

3)编写程序计算从键盘输入两个不超过四位的十进制数的和、差、积、商,并以十进制形式输出。

4)写程序把从键盘输入的四位十六进制数转换为压缩的BCD码,并显示输出。

5)编写一通用过程用来将十进制数(从键盘输入)转换为P(从键盘输入)进制数。 三、源程序 EXAM3-2

BTODA PROC PUSH DS PUSH CS POP DS PUSH DI PUSH CX PUSH BX PUSH DX CLD LEA BX,CTAB BTODA1: MOV CX,[BX] XOR DX,DX DIV CX ADD AL,30H STOSB MOV AX,DX ADD BX,2 CMP CX,10 JNZ BTODA1 ADD AL,30H STOSB POP DX

河北工业大学汇编语言实验设计

POP BX POP CX POP DI POP DS RET

CTAB DW 10000,1000,100,10 BTODA ENDP

EXAM3-5

DATA SEGMENT

STRING1 DB 'INPUT YOUR M=','$' STRING2 DB 'INPUT YOUR P=','$' RE DB 8 DUP(30H) DATA ENDS

STACK1 SEGMENT STACK

DW 60H DUP(0) STACK1 ENDS

CODE SEGMENT

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

MOV DS,AX

MOV DX,OFFSET STRING1 MOV AH,09H INT 21H

MOV AH,01H INT 21H

AND AX,0000FH MOV DL,10 MUL DL MOV BX,AX MOV AH,01H INT 21H

AND AL,0FH CLC

ADD BL,AL ADC BH,0 MOV DL,0AH MOV AH,02H INT 21H

MOV DL,0DH INT 21H

MOV DX,OFFSET STRING2 MOV AH,09H INT 21H

河北工业大学汇编语言实验设计

MOV AH,01H INT 21H MOV DH,AL SUB DH,30H MOV DL,0AH MOV AH,02H INT 21H

MOV DL,0DH INT 21H MOV AX,BX MOV BX,0001H

MOV DI,OFFSET RE LOP1:

DIV DH

ADD AH,30H MOV [DI],AH CBW

ADD DI,BX CMP AL,0 JA LOP1

MOV CX,08H

MOV DI,OFFSET RE CLC

ADC DI,CX LOP2:

SUB DI,BX MOV DL,[DI] MOV AH,02H INT 21H LOOP LOP2 MOV AH,4CH INT 21H CODE ENDS END START

执行程序EXAM3-5·EXE,屏幕上显示结果: INPUT YOUR M=5 INPUT YOUR P=6 00000143

实验五 输入输出程序设计

一、实验目的

河北工业大学汇编语言实验设计

1) 掌握输入输出程序的编写方法。 2) 熟悉系统功能调用的方法。 3) 熟悉动画程序的编写方法。 二、实验内容

1)在CRT上每隔一秒连续显示字符0-9。 编程提示

为了使输出的字符之间有空格,在每一个循环中输出一个0-9的字符和一个空格。为了输出0-9,置寄存器BL初值为0,每循环一次使其增量。为了保证输出是十进制,增量后用DAA调整指令。由于输出为一位十进制数,用AND 0FH指令屏蔽高4位。

2)用系统功能调用将‘HELLO’由键盘输入,再从屏幕输出‘***HELLO***’。

3)编制在屏幕上画线的子程序,调用该子程序画一矩形。

4)编制字母下落一行的子程序,调用该子程序使字母从屏幕顶部下落到底部。

5)创建一磁盘文件,保存从键盘输入的字符串。

6)编写程序用设置系统时间,首先从键盘以十进制数形式输入时间,然后修改系统时间,并重新以十进制形式显示时间。

7)编写程序将屏幕分割成格状,每一格涂上不同颜色,格数从键盘输入。 8)编写程序在屏幕上显示菜单,输入相应菜单的序号后,选种该菜单项。 三、源程序

EXAM5-1

STACK SEGMENT STACK DB 1024 DUP(0) STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,SS:STACK START: MOV BL, 0 LP: MOV DL, 20H

MOV AH, 2

河北工业大学汇编语言实验设计

INT 21H

MOV AL, BL ADD AL, 0 DAA

AND AL, 0FH MOV BL, AL PUSH BX

OR AL, 30H MOV DL, AL MOV AH, 2 INT 21H

MOV BX, 3E8H

LP2: MOV CX, 176H ;延时1ms LP1: PUSHF

POPF

LOOP LP1 DEC BX JNZ LP2 POP BX INC BL JMP LP

CODE ENDS

END START

执行程序EXAM5-1·EXE,屏幕上依次循环显示一个数字一个空格:

0 1 2 3 4 5 6 7 8 9 ……

EXAM5-2

STACK SEGMENT STACK DB 1024 DUP(0) STACK ENDS DATA SEGMENT

BUFF DB 6,7 DUP(?),‘$’ DATA ENDS

INPUT MACRO BUFE

MOV DX, OFFSET BUFE MOV AH, 0AH INT 21H ENDM

PUTCHAR MACRO CHAR

MOV DL, CHAR MOV AH, 02H INT 21H


河北工业大学汇编语言程序设计实验(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国石油大学网络教育技术经济学

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

马上注册会员

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