汇编语言第六、七章的知识总结
2020-04-22 15:52
204 查看
-
数据段
-
db和dw定义字节型数据和字型数据
assume cs:code
code segment
dw (栈,数据)
start:
;
(代码)
code ends
ends start -
将数据,代码,栈放入不同段
assume cs:code , ds:data , ss:stack data segment dw (数据地址) data ends stack segment dw 0,0,0,0,0,0,0,0 stack ends code segment start : move ax,stack move ss,ax move sp,20h //设置栈顶ss:sp 即 stack:20h move ax,data move ds,ax // ds指向data段 move bx,0 // ds:bx 指向data段中的第一个单元 move cx,4 s:push [bx] add bx,2 loop s //将data 段中的0-7单元中的4个字型数据依次入栈 move bx,0 move cx ,8 s0: pop [bx] add bx,2 loop s0 move ax,4c00h int 21h code ends end start
-
and运算 ,同为1才为1 相当于&&
OR或运算,有一个是1就为1,否则为0 相当于||
xor 异或运算 ,不相同,则异或结果为1。相同,异或结果为0。
not 运算 ,值取反。
6. [bx+idata]可以定位数组、字符串中的值;也可以用[bx+si(或di)]或
[bx+si+idata]的方式来指明一个内存单元。(括号里的相当于偏移地址)
7. si和di是和bx功能接近的寄存器,不能被拆成两个8位寄存器。
8. 例:将datasg段中的每一个单词的头一个字母改为大写
assume cs:datasg,ds:datasg data segment db '1.one ' db '2.two ' db '3.three ' db '4.fore ' datasg ends codesg segment mov ax,datasg mov ds,ax mov bx,0 mov cx,4 s:mov al, [bx+3] // 用[bx+idata]来对目标单位寻址,提取cs:[bx+3]中的值到al and al,11011111b //将2进制第6位改为0,即把小写字母的ascll码减32 mov [bx+3],al add bx,16 loop s code ends end start
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 汇编语言基础知识总结
- 汇编语言学习(9)——阶段性总结
- JavaScript 语言基础知识点总结(思维导图)
- 汇编语言笔记第一章基础知识
- AT&T汇编语言的相关知识
- JavaScript 语言基础知识点总结(思维导图)
- [Java面试九]脚本语言知识总结.
- 汇编语言基础之九- 关于栈指针的规律性的总结
- 汇编语言的准备知识
- 汇编语言基础知识
- C语言基础知识总结
- c语言知识总结
- JavaScript 语言基础知识点总结(思维导图)
- 汇编语言 王爽第二版 总结
- 《Linux C编程实战》中一些基础C语言知识 && 一些笔试面试题总结
- 【数据库系统概念】第6章 形式化关系查询语言 知识总结
- 【多图】值得收藏!JavaScript语言基础知识总结
- JavaScript 语言基础知识点总结(思维导图)
- JavaScript 语言基础知识点总结
- [汇编语言]-第一章基础知识