博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
汇编笔记(2) 多个段
阅读量:6671 次
发布时间:2019-06-25

本文共 1086 字,大约阅读时间需要 3 分钟。

;计算a段中各个内存值加上b段各个内存值后存放到c段中 assume cs:codea segment    db 1,2,3,4,5,6,7,8a endsb segment    db 1,2,3,4,5,6,7,9b endsc1 segment    db 0,0,0,0,0,0,0,0c1 endscode segments:    mov ax,a   mov ds,ax  ;use ds point to a seg   mov ax,c1   mov es,ax  ;use es point to c seg      mov cx,4   mov bx,0p1:   mov ax,[bx]   mov es:[bx],ax   add bx,2   loop p1   mov ax,b   mov ds,ax  ;use ds to point b seg   mov cx,4   mov bx,0p2:mov ax,[bx]   add es:[bx],ax   add bx,2   loop p2      mov ax,4c00h   int 21h   code endsend s

(1)ds:[bx]所指向的物理地址即可读也可写;

(2)可以通过定义的段的标号作为该段的引用地址

 

可以手动指定数据段和栈段的位置:

assume cs:codeseg,ss:b,ds:a ;注意:这里虽然这么写,但是CPU不会直接把b当成栈,把a当成数据段,还是需要手动指定a segment    dw 1,2,3,4,5,6,7,8,9,0ah,0ch,0dh,0eh,0fh,0ffha endsb segment    dw 0,0,0,0,0,0,0,0b endscodeseg segmentstart:    mov ax,a    mov ds,ax ;use ds to point to a seg        mov ax,b    mov ss,ax ;use ss to point to b seg,make b seg as a stack    mov sp,16    mov bx,0        mov cx,8s:    push [bx]    add bx,2    loop s        mov ax,4c00h    int 21h    codeseg endsend start

 

转载于:https://www.cnblogs.com/at0x7c00/p/8922931.html

你可能感兴趣的文章
Myeclipse项目中Source、Projects、Libraries、Order and export含义
查看>>
制作H5响应式页面注意事项、微信二次分享
查看>>
C# JS URL 中文传参出现乱码的解决方法
查看>>
CCF能力认证历届第二题
查看>>
Array 的五种迭代方法 -----every() /filter() /forEach() /map() /some()
查看>>
[转]Linux(centOS6.5)下SVN的安装、配置及开机启动
查看>>
putchar()
查看>>
050:navie时间和aware时间详解
查看>>
itertools
查看>>
centos7修改密码
查看>>
nodejs将PDF文件转换成txt文本,并利用python处理转换后的文本文件
查看>>
python笔记 第十一天 面向对象
查看>>
系统升级shell
查看>>
具体数学第二版第三章习题(3)
查看>>
JAVA版-微信高清语音.speex转.wav格式
查看>>
第8周编程总结
查看>>
cocos2d-x中本地推送消息
查看>>
转:架构师之路16年精选50篇
查看>>
滑动窗口
查看>>
蓝桥杯 马虎的算式(全排列)
查看>>