回 帖 发 新 帖 刷新版面

主题:有道作业不会做,刚学汇编,很恼火:(

根据书上一道例题改的
例题:
data segment
table db 0,4,9,16,25,36,49,64,81,100
rslt db ?
data ends
code segment
     assume cs:code,ds:data
start:mov ax,data
      mov ds,ax
      mov ah,00H
      int 16h
      and al,0FH
      xor bx,bx
      mov bl,al
      lea si,table
      mov al,[si+bx]
      mov rslt,al
      mov ah,4ch
      int 21H
code ends
     end start




题目是:在以table为首地址的内存中顺序存有0-11的立方表,输入0-11中的任意数,显示其立方值。
ps:table必须定义为dw
    要求运行程序时在输入0-11之前显示"please input a number(0-11)" 输入后再显示结果


刚学几个星期 觉得这题好难啊 table定义为dw不是找麻烦吗 老师提示要用shr 不太明白 刚学过c 觉得用c这么简单能完成 为什么汇编这么麻烦啊 学汇编干什么用啊
哪位大哥能讲下吗 在此谢过????       [em10][em10]

回复列表 (共2个回复)

沙发

郁闷

板凳

那肯定要用dw了,0---11平方后,八位就放不下了,超出了范围了,要用dw
至于输入什么就显示它的平方,你先要把table里放好0----11的平方是什么,按顺序存储好,然后你接受从键盘上输入的数字,键盘输入什么数字你就用'table+输入的数字',这个就是键盘上输入的数字的平方,然后你中断在把他输出来就可以了!
shr用不用,多能实现

我来回复

您尚未登录,请登录后再回复。点此登录或注册