汇编语言作业(五)

简介: 班级:  计算机14-1   姓名: 许恺  学号: 2014011329 日期: 2016.4.22          一、编写程序1.设有字数组X、Y和Z,各有10个元素,计算:Z0=X0-Y0   Z1=X1-Y1  Z2=X2-Y2   Z3=X3+Y3   Z4=X4-Y4  Z5=X5-Y5   Z6=X6-Y6   Z7=X7+Y7  Z8=X8-Y8   Z9=X9-Y9要求:X、Y两个数组的数均为两位十进制数,直接放在数据段中,无需从键盘输入,且两数相加或相减之后是一位或两位数(有可能是负数)。

班级:  计算机14-1   姓名: 许恺  学号: 2014011329 日期: 2016.4.22          

一、编写程序

1.设有数组X、Y和Z,各有10个元素,计算:

Z0=X0-Y0   Z1=X1-Y1  Z2=X2-Y2   Z3=X3+Y3   Z4=X4-Y4  

Z5=X5-Y5   Z6=X6-Y6   Z7=X7+Y7  Z8=X8-Y8   Z9=X9-Y9

要求:X、Y两个数组的数均为两位十进制数,直接放在数据段中,无需从键盘输入,且两数相加或相减之后是一位或两位数(有可能是负数)

输出:以十进制形式输出计算后的结果(即:数组z的内容)

提示:对于负数的显示,在判断该数是负数后,可先输出一个负号,然后对该数求补,再输出相应的正数,例如,-15,先输出一个负号,求补后,该数变成了15,直接输出就可以了。

1)程序清单:

data segment

 x dw 10h,11h,12h,13h,14h,15h,16h,17h,18h,19h

 y dw 11h,12h,13h,14h,15h,16h,17h,18h,18h,20h

 z dw 10 dup(?)

 logic_ruler dw 0010001000b

data ends

code segment

  assume cs:code,ds:data

   main proc far

start:

   mov ax,data

   mov ds,ax

   mov dx,logic_ruler

   mov cx,10

   mov bx,0

l1:mov ax,x[bx]

   shr dx,1

   jc l2

   add ax,y[bx]

   jmp l3

l2:sub ax,y[bx]

   cmp ax,0

   jge l3

   neg ax

   push dx

   mov dh,al

   mov dl,'-'

   mov ah,02h

   int 21h

   mov al,dh

   mov ah,0

   pop dx

 

l3:mov z[bx],ax

   push dx

   push bx

   MOV BH,Al

   MOV BL,0AH

   DIV BL

   ADD AH,30H

   ADD AL,30H

   MOV BX,AX

   MOV DL,BL

   MOV AH,02H

   INT 21H

   MOV DL,BH

   MOV AH,02H

   INT 21H

   mov dl,' '

   mov ah,02h

   int 21h

   pop bx

   pop dx

 

   add bx,2

   loop l1

   mov ah,4ch

   int 21h

   main endp

code ends

end start

 

2)运行结果(截图):

 

二、编程体会

    真的是难,本以为书上有现成的例题就不着急写,最后才发现那么不一样,浪费好长时间又去修改程序以及优化程序,最终还是做出来了,开始感觉根本做不出来,最后还是做出来了,也许编程的魅力就在于此吧,本以为绝对做不到的事情,却做出来了,太有成就感。

相关文章
汇编语言作业(三)计算这三个数的平均值
班级:  计算机14-1   姓名: 许恺   学号: 2014011329  日期: 2016.4.1           一、编写程序 1.设有三个无符号的个位数,计算这三个数的平均值(截尾取整),并将这个平均值显示在屏幕上。
2215 0
汇编语言作业(四)在屏幕上显示N个星号
班级:  计算机14-1  姓名: 许恺     学号: 2014011329  日期: 2016.4.8           一、编写程序 1.从键盘输入一个十进制个位数N(1-9),然后在屏幕上显示N个星号。
998 0
汇编语言作业(六)
班级:  计算机14-1 姓名: 许恺   学号: 2014011329 日期: 2016.4.24     一、编写程序 1.从键盘输入一个长度不超过50的字符串,然后将该字符串原样输出。 要求:用A号功能调用输入,用9号功能调用输出。
1009 0
汇编语言作业(七)
班级:  计算机14-1  姓名:  许恺    学号:  2014011329日期: 2016.4.29           一、编写程序 1.从键盘输入一个不超过8的个位数,计算该数的阶乘,并以十进制制式输出。
757 0
汇编语言作业(2)输入两个位数,计算其乘积,并把乘积显示出来
班级:  计算机14-1   姓名: 许恺     学号: 2014011329  日期: 2016.3.29           一、编写程序 从键盘输入两个位数,计算其乘积,并把乘积显示出来(乘积用两位十进制形式显示,例如:2*3的结果是06,6*9的结果是54) 提示:利用1号功能调用从键盘输入的都是字符,例如,输入6,在AL中得到的是36H,要减掉30h才能得到数值6。
1854 0
|
3月前
|
存储 Unix 编译器
汇编语言----X86汇编指令
汇编语言----X86汇编指令
69 1
|
3月前
|
存储 机器学习/深度学习 移动开发
汇编语言指令系列
汇编语言指令系列
159 0
|
1月前
|
存储 机器学习/深度学习 芯片
8086 汇编笔记(十二):int 指令 & 端口 & 直接定址表
8086 汇编笔记(十二):int 指令 & 端口 & 直接定址表
|
1月前
|
存储 算法 安全
深入理解汇编语言:基础语法和常用指令介绍
深入理解汇编语言:基础语法和常用指令介绍
|
2月前
汇编语言(第四版) 实验一 查看CPU和内存,用机器指令和汇编指令编程
汇编语言(第四版) 实验一 查看CPU和内存,用机器指令和汇编指令编程