微机原理实验报告 第1篇

注意:源程序是用汇编语言语句编写的程序,并不能为机器所识别。源程序的扩展名为

ASM。

2.用宏汇编程序将.ASM源程序汇编成机器码的目标文件(OBJ文件)

命令格式是:

C:/>MASM 文件名↙

此时,汇编程序会在屏幕上给出提示,一般选择回车键作为回答。

Object filename [文件名.OBJ]:↙

Source listing []:↙

Cross-reference []:↙

如果源程序没有错误,则在屏幕上会显示如下信息:

0 Warning Errors

0 Severe Errors

微机原理实验报告 第2篇

DOS功能调用的两个子程序,调用方法如下:

(1)设置入口参数

(2)子程序编号送人AH

(3)INT 21H,子程序请求中断指令

有的子程序不需要入口参数,但大多数需要将参数送入指定地方。

MOV DL,\'A\'

MOV AH,2

INT 21H

上面用的程序是DOS系统功能调用的2号子程序,功能是将字符送入屏幕显示。其入口参数是把待输出字符的ASCII码送到DL寄存器中。例如:ASCII码若是0DH,2号子程序处理成回车;ASCII码若是0AH,处理成换行。

MOV AH, 4CH

INT 21H

这是DOS系统功能调用的4CH号子程序,功能是返回操作系统,没有入口参数。

微机原理实验报告 第3篇

1.实验内容1

(1)实验内容1的流程图,如图1-1所示:

图1-1 内容1流程图

(2)实验内容1的源程序,参考如下:

CODE SEGMENT

ASSUME CS: CODE

START: MOV BX, 0FFFH

MOV CX, 1000

CALL DEC_DIV

MOV CX, 100

CALL DEC_DIV

MOV CX, 10

CALL DEC_DIV

MOV CX, 1

CALL DEC_DIV

MOV AH, 4CH

INT 21H

DEC_DIV PROC NEAR

MOV AX, BX

MOV DX, 0

DIV CX

MOV BX, DX

MOV DL, AL

ADD DL, 30H

MOV AH, 2

INT 21H

RET

DEC_DIV ENDP

CODE ENDS

END START

2.实验内容2

(1)实验内容2的流程图,如图1-2所示:

图1-2内容2流程图

3.实验内容3

(1)实验内容3的流程图,如图1-3所示:

图1-3 内容3流程图

4. 实验内容4

(1)实验内容4的流程图,如图1-4所示:

图1-4 内容4流程图

微机原理实验报告 第4篇

输出字符‘A’,程序流程图如图0-1所示。

图0-1输出字符‘A’程序流程图

源程序如下:

PROG SEGMENT

ASSUME CS:PROG

MOV DL, \'A\'

MOV AH, 2

INT 21H

MOV AH, 4CH

INT 21H

PROG ENDS

END

微机原理实验报告 第5篇

1.把BX中的数按位由高到低转化成十进制数,即依次对其除以10000、1000、100、10、1,将获得的商放到 DL中,加30H变成ASCⅡ码,调用DOS系统中断INT 21H的2号功能显示出来;对于每一位十进制数的获得和显示,实验通过编制子程序DEC_DIV并不断调用来实现。

显示,方法与内容1相同;如果为负数,则需要先对其求补,再屏蔽其符号位,相当于得到了这个负数的绝对值。在显示时,先把负号“-”显示出来,其余的显示与正数相同。

3.编程思路是通过将被加数与0相比较,实现分支转移,将正数与负数分别累加到寄存器SI和DI中,并运用内容2显示带符号数的方法,通过调用子程序将其显示出来。其中为了换行,又加了两个2号系统功能调用,分别将换行和回车放到了被显示的两个字中间。

4.16位的二进制数,4位一组可以显示为4位十六进制数,从高到低依次取出4位二进制数变成ASCⅡ码输出即可。