|
发表于 2024-6-15 21:24:41
|
显示全部楼层
还有就是涉及到数据段的问题,数据段可以有2个段寄存器:ds、es,则masm会给你添加段前缀,或者你手动添加。你编译一下这段代码,研究一下就懂了。
- assume cs:codesg,ss:stacksg,ds:datasg1,es:datasg2
- ;-------------------------------------------
- stacksg segment stack
- db 100 dup (0)
- stacksg ends
- ;-------------------------------------------
- datasg1 segment
- tnum1 db 6
- datasg1 ends
- ;-------------------------------------------
- datasg2 segment
- tnum2 db 9
- datasg2 ends
- ;-------------------------------------------
- codesg segment
- start:
- mov ax,datasg1
- mov ds,ax
- mov ax,datasg2
- mov es,ax
- ;-------------------------------------------
- mov al,tnum1
- mov al,tnum2
- ;-------------------------------------------
- mov ax,4c00h
- int 21h
- codesg ends
- end start
复制代码 |
|