8086微机原理编程题。输入两个一位十进制数,求差的绝对值结果存入内存单元,求步骤和说明,谢谢

8086微机原理编程题。输入两个一位十进制数,求差的绝对值结果存入内存单元,求步骤和说明,谢谢真心求助,万分感谢... 8086微机原理编程题。输入两个一位十进制数,求差的绝对值结果存入内存单元,求步骤和说明,谢谢真心求助,万分感谢 展开
 我来答
pardream941026
2016-08-29 · TA获得超过8216个赞
知道大有可为答主
回答量:4602
采纳率:89%
帮助的人:1326万
展开全部
  1. 写出基本框架

    数据段:定义变量

    代码段:

    主体代码:数据段初始化,退出代码




  2. ; base structure
    dseg segment
      a  db 0   ;输入的第1个数
      b db 0   ;输入的第2个数
      r db 0   ;保存的计算结果 a-b
    dseg ends
    cseg segment
    assume cs:cseg, ds:dseg
    start:
      mov ax, dseg
      mov ds, ax
     ;这里开始写题目要求的代码
    ; exit to os
      mov ah, 4ch
      int 21h
    cseg ends
      end start
  3. 读取变量a, b, 计算a-b并写入r

    ;下面的代码需要写入上面  " ;这里开始写题目要求的代码"之后
    mov ah,1
    int 21h    ;用int 21H的1功能,读取一个数据字符(al)中
    sub al, 30H ;不考虑输出非数字字符情况下,减30H即为对应的10进制数
    mov a, al  ;保存到变量a
    int 21h     ; 读取第2个字符 ,这里注意,输入两个数的时侯,中间不要加回车、空格等
            ;这里,因为ah, 没有发生改变,所以省略了一步mov ah,1
    sub al,30h
    mov b, al
    mov bl, a  ;提取保存的a
    sub bl, al  ;计算a-b,放入bl
    mov r, bl  ;计算结果放入 r
  4. 编译并调用程序

    用masm 或tasm等。

追问
太给力了,我还提了两个一样的问题,都是悬赏一百,您底下留一下言,我把悬赏都给您,然后能给我一份完全版么
追答
两处的程序全到一起就是完全的了。另一问你删除就可以了,不用再加悬赏了。

; base structure
dseg segment
  a  db 0   ;输入的第1个数
  b db 0   ;输入的第2个数
  r db 0   ;保存的计算结果 a-b
dseg ends
cseg segment
assume cs:cseg, ds:dseg
start:
  mov ax, dseg
  mov ds, ax
 ;这里开始写题目要求的代码
mov ah,1
int 21h    ;用int 21H的1功能,读取一个数据字符(al)中
sub al, 30H ;不考虑输出非数字字符情况下,减30H即为对应的10进制数
mov a, al  ;保存到变量a
int 21h     ; 读取第2个字符 ,这里注意,输入两个数的时侯,中间不要加回车、空格等
        ;这里,因为ah, 没有发生改变,所以省略了一步mov ah,1
sub al,30h
mov b, al
mov bl, a  ;提取保存的a
sub bl, al  ;计算a-b,放入bl
mov r, bl  ;计算结果放入 r
 ; exit to os
  mov ah, 4ch
  int 21h
cseg ends
  end start
  
  编译生成exe程序后执行,输入两个连续的数字就是计算他们的和
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式