之前学习汇编基础总结
8086cpu外部总线20位=段地址*16+偏移地址 debug 里安全空间 0:200~0:3ff
od 反编译
0、debug 调试
1、fff00H-FFFFFH
-d fff0:0 ff 可以查出主板出厂时间
2、b8100H cpu 显存地址
3、数据的段地址ds获取;代码的段地址从cs获取, 栈的段地址从ss获得
4、mov ax,[0] 与[0]在debug表示内存单元 而在masn编译器里表示0 而masn 用[bx] 间接–>mov bx,1 mov ax,[bx] 在masn也可以用 mov ax,ds:[0]
在masn中
mov al,[0] (al)=0
mov al,ds:[0] (al)=(ds:[0])
mov al,[bx] (al)=(ds:[bx])
mov al,ds:[bx] (al)=(ds:[bx])
5、si和di 不能是8位 功能相似于通用寄存器bx
感受汇编与高级语言的不同魅力
下面这两段程序功能是把字符串大小写转化
废话少说,看下面的程序:
汇编:
assume cs:code,ds:datasg
datasg segment
db ‘aApoyl’ ;小写转化为大写
db ‘ddABYC’ ;大写转化为小写
datasg ends
code segment
start:
mov ax,datasg
mov ds,ax