首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >程序集80286:访问变量的第n字节

程序集80286:访问变量的第n字节
EN

Stack Overflow用户
提问于 2014-11-22 11:03:25
回答 1查看 84关注 0票数 1

(asm 80286)在byteword类型数组上访问数据段变量

我正在尝试访问变量的第n字节/字,但有些地方出错了,我不知道是什么原因。

代码语言:javascript
复制
ASSUME cs: code, ds:data 
data SEGMENT
    s db 5,1,2,3

data ENDS 
code SEGMENT 
start: 
mov ax,data 
mov es,ax 
mov si, 0;
    mov ax, 0;
    check:  
        cmp si, len   
        jg fin
        mov al, byte ptr [s][si] ; !!! this return not the value i i think it would
                 ^^^^^^^^^^^^^^^
        cmp al, 0
        jl  negativ   ; move to positiv 
        jmp positiv   ; move to negativ 

    positiv:
        mov byte ptr d1[si],al
        inc si
        jmp check
    negativ:  
        mov byte ptr d2[si],al
        inc si
        jmp check   
    fin:
mov ax,4C00h          
int 21h 
code ENDS 
END start

get to debug : tlink name,tlink name,td名称^行返回了错误的值,这就是为什么我假设我与调试器进行了检查,并且这些值来自数据段,而不是正确的值。

我想我可能不太理解寻址方法,有人能帮我吗?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-22 11:36:57

你忘了初始化DS

变化

代码语言:javascript
复制
mov ax,data 
mov es,ax

代码语言:javascript
复制
mov ax,data
mov ds,ax
mov es,ax

ES的初始化真的需要吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27076654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档