鱼C论坛

 找回密码
 立即注册
查看: 2246|回复: 3

大家帮忙看下我的这个程序哪里出错了。

[复制链接]
发表于 2012-9-14 17:17:02 | 显示全部楼层 |阅读模式
2鱼币

    程序的作用是将 data段中第一组数据的3次方。。结果存在后面的一组的dword单元中
assume cs:code ds:data
data segment
dw 1,2,3,4,5,6,7,8
dw 0,0,0,0,0,0,0,0
data ends
code segment
start: mov ax,data
       mov ds,ax
   
    mov si,0
    mov cx,8
    s:         
        mov bx, ds:[si]
        mov ax,bx
        mul  bx
     mul  bx
     mov  ds:[si+16],ax
     inc si
     loop s
     mov ax,4c00h
     int 21h
   code ends
  end start

最佳答案

查看完整内容

呵呵 楼主, 你看看~ 问题: 为什么无法实现数字n的3次方 分析: 1, ds里的 数字是 dw型。是一个字,每个字占二个字节, 所以是 add si, 2 2, mul bx 这样是16位运算(bx,是通用寄存器,是十六位的), 值默认在 ax(低十六位) 和 dx (高十六位) 中, 所以应该是 mul 8位寄存器, 我是用 mul bl (换做别的8位寄存器也可以) 代码如下呵呵 楼主 希望能帮助你, bye~
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-9-14 17:17:03 | 显示全部楼层
呵呵  楼主,   你看看~

问题:  为什么无法实现数字n的3次方

分析:  1,  ds里的 数字是  dw型。是一个字,每个字占二个字节,  所以是  add si, 2   
            2,  mul bx   这样是16位运算(bx,是通用寄存器,是十六位的),  值默认在  ax(低十六位) 和  dx (高十六位) 中,  所以应该是  mul 8位寄存器,  我是用  mul bl (换做别的8位寄存器也可以)

代码如下
  1. assume cs:code, ds:data

  2. data segment
  3. dw 1,2,3,4,5,6,7,8
  4. dw 0,0,0,0,0,0,0,0
  5. data ends

  6. code segment

  7. start:mov ax,data
  8.       mov ds,ax
  9.       mov si,0
  10.       mov cx,8
  11.    s: mov bx, ds:[si]
  12.       mov ax,bx
  13.       mul bl
  14.       mul bl
  15.       mov ds:[si+16],ax
  16.       add si, 2
  17.       loop s
  18.       mov ax,4c00h
  19.       int 21h
  20.           
  21. code ends
  22. end start
复制代码
呵呵  楼主  希望能帮助你,  bye~
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-9-14 22:04:59 | 显示全部楼层
我也是才学完汇编语言第二版,不敢保证全部正确,以下是我的看法:

数据定义中dw 0,0,0,0,0,0,0,0改为dd 0,0,0,0,0,0,0,0
循环里面:mov  ds:[si+16],ax
                  inc si
也有问题
因为第一排数据是dw,字型数据,所以si要加2,add si,2   或者用两个  inc si
还有3次方的结果存放在dx,ax中,是双字数据,所以第二排定义的数据是dd(双字)
存放结果应该是:mov ds:[16 +si+0],ax
                           mov ds:[16+si+2],dx(因为要有对比,好看清楚,所以写的麻烦点)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-9-14 22:41:26 | 显示全部楼层
楼上的正解
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-1 05:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表