南昌大学 微机原理 实验一数据大小比较

时间:2024.4.20

20110501114715292    南昌大学实验报告    

学生姓名:  学号:专业班级: 

实验一   数据大小比较

实验内容

自行定义两个数据(字节或字均可,带符号数或无符号数均可),编程实现两个数的大小比较。若NUM1>NUM2,AL寄存器送字符﹥,并在屏幕上显示该字符;若NUM1<NUM2,AL寄存器送字符﹤,并在屏幕上显示该字符;若NUM1=NUM2,AL寄存器送字符﹦,并在屏幕上显示该字符。

实验程序

data  segment

   num1 db 33h

   num2 db 44h

data ends

code  segment

assume cs:code,ds:data

start:

   mov ax,data

   mov ds,ax

   mov al,num1

   mov ah,num2

   cmp ah,al

   jge next_1

   mov dl,'>'

   mov ah,2

   int 21h

   jmp next_3

next_1:

   cmp ah,al

   jg next_2

   mov dl,'='

   mov ah,2

   int 21h

   jmp next_3

next_2:

   mov dl,'<'

   mov ah,2

   int 21h

   jmp next_3

next_3:

   mov ah,1

   int 21h

   mov ah,4ch    

   int 21h

code ends

end start

过程及实验结果

实验心得

通过本次实验,了解与熟悉了软件的应用步骤与过程,同时进行了最基础的程序设计,掌握了最基础的汇编语言的应用。


第二篇:南昌大学微机原理实验十一 两个多位十进制数相减


实验十一两个多位十进制数相减

一.实验要求

将两个多位十进制数相减,要求被减数,减数均以ASCII码形式按顺序存放在以DATA1和DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。

二.实验目的

1.   学习数据传送和算术运算指令的用法。

2.   熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。

三.实验程序框图

四.实验程序

DATA SEGMENT

DATA1  DB  33H,39H,31H,37H,38H      ;第一个数据(作为被减数)

DATA2  DB  36H,35H,30H,38H,32H      ;第二个数据(作为减数)

MES1   DB  '-','$'

MES2   DB  '=','$'

DATA ENDS

STACK SEGMENT                       ;堆栈段

STA DB 20 DUP(?)

TOP EQU LENGTH STA

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA

START:  MOV     AX,DATA

        MOV     DS,AX

        MOV     ES,AX

        MOV     AX,STACK

        MOV     SS,AX

        MOV     AX,TOP

        MOV    SP,AX

        MOV    SI,OFFSET DATA1

        MOV    BX,05

        CALL    DISPL             ;显示被减数

        MOV    AH,09H

        LEA     DX,MES1

        INT     21H

        MOV    SI,OFFSET  DATA2

        MOV    BX,05               ;显示减数

        CALL    DISPL

        MOV    AH,09H

        LEA     DX,MES2

        INT     21H

        MOV    SI,OFFSET DATA1

        MOV    DI,OFFSET  DATA2

        CALL    SUBA               ;减法运算

        MOV    SI,OFFSET  DATA1

        MOV    BX,05               ;显示结果

        CALL    DISPL

        MOV    DL,0DH

        MOV    AH,02H

        INT     21H

        MOV    DL,0AH

        MOV    AH,02H

        INT     21H

        INT     21H

        MOV    AX,4C00H

        INT     21H

DISPL   PROC   NEAR                ;显示子功能

DSI:    MOV    AH,02

        MOV    DL,[SI+BX-1]         ;显示字符串中一字符

        INT     21H

        DEC     BX                  ;修改偏移量

        JNZ     DSI

        RET

DISPL   ENDP

SUBA    PROC    NEAR

        MOV     DX,SI

        MOV     BP,DI

        MOV     BX,05

SU1:    SUB      BYTE PTR[SI+BX-1],30H

        SUB      BYTE PTR[DI+BX-1],30H

        DEC     BX                          ;将ASCII 码表示的数字串 

        JNZ     SU1                          ;转化为十六进制的数字串

        MOV     SI,DX

        MOV     DI,BP

        MOV     CX,05                        ;包括进位,共5位

        CLC                                   ;清进单位

SU2:    MOV     AL,[SI]

        MOV     BL,[DI]

        SBB     AL,BL                        ;带进位相减

        AAS                                  ;非组合BCD码的减法调整

        MOV     [SI],AL                      ;结果送被减数区

        INC     SI

        INC     DI                           ;指向下一位

        LOOP    SU2                         ;循环

        MOV     SI,DX

        MOV     DI,BP

        MOV     BX,05

SU3:    ADD     BYTE PTR  [SI+BX-1],30H

        ADD     BYTE PTR  [DI+BX-1],30H

        DEC     BX       ;十六进制的数字串转化ASCII码表示的数字串

        JNZ     SU3

        RET    

SUBA   ENDP

CODE   ENDS

                   END     START

更多相关推荐:
东南大学高等数学实验报告

高等数学数学实验报告实验人员院系学号姓名实验地点计算机中心机房实验一一实验题目设数列xn由下列递推关系式给出x观察数列1x111x211xn1112xn1xnxnn122的极限二实验目的和意义利用数形结合的方法...

东南大学高等数学数学实验报告

高等数学A下册数学实验实验报告姓名刘川学号02A13306实验一空间曲线与曲面的绘制实验题目利用参数方程作图作出由下列曲面所围成的立体1Z22x及xOy面2zxyxy10及z0实验方案1输入如下命令s1Para...

东南大学数学建模实验报告

东南大学数学建模实验报告学号姓名成绩一实验名称中国近30年的人口马尔萨斯模型一实验目的1掌握matlab绘制拟合图的方法2掌握马尔萨斯模型建立的方法3通过实验了解马尔萨斯模型的有点和缺陷二在网上收集相关的资料三...

东南大学高等数学A(上册)数学实验报告

高等数学数学实验报告实验人员院系计算机学号姓名成绩实验时间20xx年12月25日9001130实验一观察数列的极限一实验题目一1nlim1e根据上面的实验步骤通过作图观察重要极限nn二实验目的和意义从点图上看出...

东南大学大一下高等数学实验报告

高等数学数学实验报告实验人员院系电子学号姓名成绩实验一一实验题目观察级数n1nnn的部分和序列的变化趋势并求和二实验目的和意义学会利用Mathematics显示级数部分和的变化趋势并且通过实验中得到的部分和图像...

东南大学高等数学(下册)数学实验报告

10113学期高等数学数学实验报告实验人员院系学号姓名成绩实验时间20xx年5月28日1作出各种标准二次曲面的图形1球面程序设计程序运行结果实验一2椭圆抛物面程序设计程序运行结果Plot3Dxyx1010y10...

东南大学《数学实验》报告

东南大学数学实验报告学号姓名成绩实验内容曲线拟合与插值一实验目的用最小二乘法实现多项式拟合3次样条函数的应用二预备知识1熟悉一般的曲线拟合的最小二乘法原则2熟悉正规方程差分表均差表的概念3熟悉polyfitpo...

东南大学《数学实验》报告

东南大学数学实验报告学号姓名成绩实验内容曲线拟合与插值一实验目的用最小二乘法实现多项式拟合3次样条函数的应用二预备知识1熟悉一般的曲线拟合的最小二乘法原则2熟悉正规方程差分表均差表的概念3熟悉polyfitpo...

东南大学《数学实验》报告

东南大学数学实验报告学号姓名成绩实验内容曲线拟合与插值一实验目的用最小二乘法实现多项式拟合3次样条函数的应用二预备知识1熟悉一般的曲线拟合的最小二乘法原则2熟悉正规方程差分表均差表的概念3熟悉polyfitpo...

东南大学《数学实验》报告

东南大学数学实验报告学号姓名成绩实验内容曲线拟合与插值一实验目的用最小二乘法实现多项式拟合3次样条函数的应用二预备知识1熟悉一般的曲线拟合的最小二乘法原则2熟悉正规方程差分表均差表的概念3熟悉polyfitpo...

东南大学《数学实验》报告

东南大学数学实验报告学号姓名成绩实验内容曲线拟合与插值一实验目的用最小二乘法实现多项式拟合3次样条函数的应用二预备知识1熟悉一般的曲线拟合的最小二乘法原则2熟悉正规方程差分表均差表的概念3熟悉polyfitpo...

东南大学《数学实验》报告

东南大学数学实验报告学号姓名成绩实验内容曲线拟合与插值一实验目的用最小二乘法实现多项式拟合3次样条函数的应用二预备知识1熟悉一般的曲线拟合的最小二乘法原则2熟悉正规方程差分表均差表的概念3熟悉polyfitpo...

东南大学数学实验报告(33篇)