BadTudou 2014-12-14 07:27 采纳率: 0%
浏览 1922

汇编:在代码中使用数据,见代码

编程计算以下8个数据的和,结果存放在ax寄存器中
0123h, 0456h, 0789h, 0abch, 0defh, 0fedh, 0cbah, 0987h
结果为: 4BDB
P123, 《汇编语言(第2版)》,王爽

8个数据定义在代码段cs,我的想法是将cs赋值给ds,然后使用bx做偏移地址"add ax, ds:[bx]",但是书上是直接使用"add ax, cs:[bx]",运行之后导致结果不相同。

【1.运行结果是:ax = 4BD8】

    assume cs:code

    ;代码段
    code segment

    ;定义8个字型数据
    dw 0123h, 0456h, 0789h, 0abch, 0defh, 0fedh, 0cbah, 0987h


    ;设置偏移地址
    mov bx, 0

    ;设置循环次数
    mov cx, 8

    ;将ax寄存器清零
    mov ax, 0

        s:  add ax, cs:[bx]
    add bx, 2
    loop s

    ;正常结束程序
    mov ax, 4c00h
    int 21h
    code ends
    end

【2.运行结果是:ax =5EAE】

    assume cs:code

    ;代码段
    code segment

    ;定义8个字型数据
    dw 0123h, 0456h, 0789h, 0abch, 0defh, 0fedh, 0cbah, 0987h


    ;将代码段设置为数据段
    mov ax, cs
    mov ds, ax

    ;设置偏移地址
    mov bx, 0

    ;设置循环次数
    mov cx, 8

    ;将ax寄存器清零
    mov ax, 0

        s:  add ax, ds:[bx]
    add bx, 2
    loop s

    ;正常结束程序
    mov ax, 4c00h
    int 21h
    code ends
    end

  • 写回答

3条回答

  • threenewbee 2014-12-14 11:28
    关注

    这两个答案都是错的,正确答案是4BDB

    评论

报告相同问题?

悬赏问题

  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用