汇编语言作业(三)计算这三个数的平均值

简介: 班级:  计算机14-1   姓名: 许恺   学号: 2014011329  日期: 2016.4.1          一、编写程序1.设有三个无符号的个位数,计算这三个数的平均值(截尾取整),并将这个平均值显示在屏幕上。

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

一、编写程序

1.设有三个无符号的个位数,计算这三个数的平均值(截尾取整),并将这个平均值显示在屏幕上。

最低要求:三个个位数在数据段中定义,最后结果能显示在屏幕上。

自由发挥:三个个位数从键盘输入,输入时有提示(可用9号功能调用输出字符串),输出结果也有提示,结果显示在屏幕上,格式要美观。

 

1)程序清单:

 

data segment
data ends
code segment
  assume cs:code,ds:data
    main proc far
 start:
  mov ah,01h
  int 21h
  mov dl,al

  mov ah,01h
  int 21h
  mov dh,al

  mov ah,01h
  int 21h

  add al,dl
  add al,dh

  mov ah,00h
  mov bl,3
  div bl
  mov bl,al

  mov dl,0ah
  mov ah,02h
  int 21h
  mov dl,0dh
  mov ah,02h
  int 21h

  mov dl,bl
  mov ah,02h
  int 21h

  mov ah,4ch
  int 21h
    main endp
 code ends
 end start

 

2)运行结果(截图):

 

2.编程实现对一个无符号32位数的乘4操作,假定该数乘以4之后仍为一个32位数。

说明:两个变量X、Y分别定义为DD型数据,其中X代表32位无符号数:12345678H的首地址,Y代表以上数据乘以4以后结果的首地址。乘法要用移位来实现。

请参见课件中的例题。最后结果存储在内存单元中(无需输出)。

 

1)程序清单

data segment
  x dd 12345678h
  y dd ?
data ends
code segment
  assume cs:code,ds:data
    main proc far
 start:
  mov ax,data
  mov ds,ax

  mov ax,word ptr x
  mov dx,word ptr x+2

  shl ax,1
  rcl dx,1

  shl ax,1
  rcl dx,1

  mov word ptr y,ax
  mov word ptr y+2,dx
  mov ah,4ch
  int 21h
    main endp
 code ends
 end start

 

二、编程体会

感觉基本的掌握了,但是关于移位等指令和运算还不熟,还有一些基本的dos指令还不会,应该在这方面补补课。

 

相关文章
汇编语言作业(四)在屏幕上显示N个星号
班级:  计算机14-1  姓名: 许恺     学号: 2014011329  日期: 2016.4.8           一、编写程序 1.从键盘输入一个十进制个位数N(1-9),然后在屏幕上显示N个星号。
967 0
汇编语言作业(五)
班级:  计算机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两个数组的数均为两位十进制数,直接放在数据段中,无需从键盘输入,且两数相加或相减之后是一位或两位数(有可能是负数)。
1199 0
汇编语言作业(六)
班级:  计算机14-1 姓名: 许恺   学号: 2014011329 日期: 2016.4.24     一、编写程序 1.从键盘输入一个长度不超过50的字符串,然后将该字符串原样输出。 要求:用A号功能调用输入,用9号功能调用输出。
983 0
汇编语言作业(七)
班级:  计算机14-1  姓名:  许恺    学号:  2014011329日期: 2016.4.29           一、编写程序 1.从键盘输入一个不超过8的个位数,计算该数的阶乘,并以十进制制式输出。
738 0
汇编语言作业(2)输入两个位数,计算其乘积,并把乘积显示出来
班级:  计算机14-1   姓名: 许恺     学号: 2014011329  日期: 2016.3.29           一、编写程序 从键盘输入两个位数,计算其乘积,并把乘积显示出来(乘积用两位十进制形式显示,例如:2*3的结果是06,6*9的结果是54) 提示:利用1号功能调用从键盘输入的都是字符,例如,输入6,在AL中得到的是36H,要减掉30h才能得到数值6。
1804 0
|
11月前
|
存储 Java C++
汇编语言、寄存器分类及程序计数器
汇编语言、寄存器分类及程序计数器
86 0
|
11月前
|
C语言
进阶C语言 第七章-------《程序的编译(预处理操作)+链接》 (预编译、编译、汇编、#define、条件编译,#include的包含)知识点+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏(三)
进阶C语言 第七章-------《程序的编译(预处理操作)+链接》 (预编译、编译、汇编、#define、条件编译,#include的包含)知识点+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏(三)
|
11月前
|
编译器 C语言
进阶C语言 第七章-------《程序的编译(预处理操作)+链接》 (预编译、编译、汇编、#define、条件编译,#include的包含)知识点+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏(二)
进阶C语言 第七章-------《程序的编译(预处理操作)+链接》 (预编译、编译、汇编、#define、条件编译,#include的包含)知识点+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏(二)
|
11月前
|
存储 自然语言处理 程序员
进阶C语言 第七章-------《程序的编译(预处理操作)+链接》 (预编译、编译、汇编、#define、条件编译,#include的包含)知识点+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏(一)
进阶C语言 第七章-------《程序的编译(预处理操作)+链接》 (预编译、编译、汇编、#define、条件编译,#include的包含)知识点+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏(一)
|
存储 API C语言
从反汇编看恶意程序的C语言结构(二)
从反汇编看恶意程序的C语言结构
94 0