汇编学习笔记(一) -- Hello World!
来源:互联网 发布:京东网络同步时钟 编辑:程序博客网 时间:2024/05/20 09:07
汇编学习笔记(一): Hello World!
记:
1. 刚刚开始学习汇编,作下笔记,怕日后忘记
2. int 21h等为dos功能调用 功能号的作用可百度int 21h
3. 功能号是放在ah中的,返回的值等 请百度
data segment ; 定义数据段 string db 'Hello World!','$' ; db(define byte)用来定义一段内存数据 字节为单位 是伪指令data endscode segment ; 定义代码段 assume cs:code, ds:data ; 将段与寄存器关联 ; 具体意思不详 start: mov ax, data ; 拿到数据段的段地址 mov ds, ax ; 将段地址赋给ds段寄存器 lea dx, string ; 拿到string在数据段中 ; 的偏移量 mov ah, 09h ; 功能号 09h在屏幕输出 ; 以'$'结尾的字符串 INT 21h ; dos功能调用 mov ah, 4ch ; 功能号 4ch 返回到dos INT 21h ; dos功能调用code ends end start ; 汇编编译程序遇到end就 ; 不往下编译了
int 21h的dos功能调用 显示字符串时 以ds:dx作为字符串的起始地址,以’$’作为结束
db 就相当于声明一下后面的内容依次放到一块连续的内存中 偏移量就是db前面的标示符
在 db中还可以用dup来声明一块内存 eg: 10 dup(0) 意思是定义一块10个字节的内存 并用0来初始化 如果(?)则说明不初始化
代码中的 string是个变量 但是对编译器来说它就是个地址, 如果直接用mov ax, string的话 那拿到的是sting这个地址处的内容(ax的话则拿到两个字节的内容, eax的话则拿到四个字节的内容, al或ah的话则拿到1个字节的内容), 想拿到string这个变量的本身的值(即地址)则需要用mov ax, offset string 或者 lea ax, string来获取
eg:
data segment
string1 db ‘string1$’string2 db ‘string2$’
data endsassume ds:data
编译器编译后 string1 即为 DS:0000
string2 即为 DS:0008 (因为 ‘string1$’是8个字节)
所以此时用 mov ax, string1 则是到 DS:0000处取2个字节的值- 仅作笔记之用 有何错误和不妥 希望您不吝赐教
0 0
- 汇编学习笔记(一) -- Hello World!
- 汇编学习笔记1 --- C内联汇编之Hello World
- IPhone学习笔记一-----Hello World!
- Python学习笔记(一)Hello World
- maven学习笔记(一)hello world
- Spring 学习笔记一 hello world
- springMVC学习笔记一(hello world)
- SpringMVC 学习笔记(一) Hello World
- flask学习笔记(一hello world)
- Spring-Boot学习笔记一:Hello World
- rocketmq学习笔记 一 hello world
- SpringMVC 学习笔记(一) Hello World
- Spring4学习笔记(一): Hello world
- rocketmq学习笔记 一 hello world
- 汇编学习笔记:第一个程序,Hello World!!!
- Hello World学习笔记
- 汇编一日一学(1)--Hello World!
- 大灰狼笔记四-汇编hello,world
- 进程和线程的区别
- 企业如何运用PRINCE2,避免项目失败——上海信息化培训中心
- 修改TextView中字体的颜色【字符串拼接之后显示在TextView中】
- Activity生命周期
- Android解析XML三种方式(PULL、SAX、DOM)
- 汇编学习笔记(一) -- Hello World!
- Active Shape Models 学习总结(2016.9.27)
- 仿ios键盘效果 点击输入框以外区域键盘消失
- 写一个 shell 脚本 守候rocketmq 进程不当掉
- 遇到的一些语法问题,网上查到的资料
- JSON格式的String 转成 net.sf.json.JSONObject
- 记录个java大文件上传功能的实现
- json字符串转成java的map与list复合对象的解决方法
- 论不良贷款拨备覆盖率的局限性和建议