(2011.10.29)汇编_王爽_第08章_学习小结
来源:互联网 发布:免费网络英语 编辑:程序博客网 时间:2024/06/09 23:56
(2011.10.29)汇编_王爽_第08章_学习小结
本章主要内容:
1. div除法指令
2. dup指令
3. 寻址方式的综合应用
4. 偏移地址的寄存器的使用:bx, si, di, bp
5. ptr的使用
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
需注意的知识点:
1. push指令只进行字操作
2. mov word ptr ds:[0], 1 用word ptr指明了指令访问的内存单元是一个字单元。
3. 当在偏移地址中包括bp时, […bp],段地址就默认在ss中,(ss)*16+bp
4. bx,si,di,bp四种寄存器可以单独出现,也可以双个出现,不用多个同时出现,
当两个出现的时候,只能bx与 si或di搭配,bp与si或di搭配,即可以将其分为两组:
组1是 (bx, bp), 组2是(si, di), 同组内的成员不能同时出现,只能异组搭配。
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
; 程序名称:实验7_寻址方式在结构化数据访问中的应用.asm; 程序功能:将几个数据段的内容放到一段数据段中,并使用除法计算数值。; 题目如下:编程,将data段中的数据按如下格式写入到table段中,; 并计算21年中的人均收入(取整),结果也按下面的格式保存在table段中。; ____________________________________________________________________________________________; | 行起始地址 | 年份(4字节) |空| 收入(4字节) |空| 雇员数(2字节 ) |空 | 人均收入(2字节)|空|; | table:0 | 1975 |格| 16 |格| 3 |格 | ??? |格|; | table:10H | 1976 | | 22 | | 7 | | ??? | |; | table:20H | 1977 | | 382 | | 9 | | ??? | |; | table:30H | 1978 | | 1356 | | 13 | | ??? | |; | table:40H | 1979 | | 2390 | | 28 | | ??? | |; | table:50H | 1980 | | 8000 | | 38 | | ??? | |; .......................................................................... ; .......................................................................... ; | table:140H | 1995 | | 5937000 | | 17800 | | ??? | |; |____________|______________|__|______________|__|________________|__|__________________|__|assume cs:codesg, ds:data, ds:tabledata segment db '1975', '1976', '1977', '1978', '1979', '1980', '1981', '1982', '1983', '1984', '1985' db '1986', '1987', '1988', '1989', '1990', '1991', '1992', '1993', '1994', '1995' ; 以上表示21年的21个字符串(年份)(4字节) dd 16, 22, 382, 1356, 2390, 8000, 16000, 24486, 50065, 97479, 140417, 197514, 345980 dd 590827, 803530, 1183000, 1843000, 2759000, 3753000, 4649000, 5937000 ; 以上表示21年公司总收入的21个dword型数据(收入)(4字节) dw 3, 7, 9, 13, 28, 38, 130, 220, 476, 778, 1001, 1442, 2258, 2793, 4037, 5635 dw 8226, 11542, 14430, 15257, 17800 ; 以上是表示21年公司雇员人数的21个word型数据data endstable segment db 21 dup ('year summ ne ?? ') ; dup指令,用于数据的重复 ; db 重复的次数 dup (重复的字节型数据) ; dw 重复的次数 dup (重复的字型数据) ; dd 重复的次数 dup (重复的双字型数据) ; dd:用来定义dword(double word, 双字)table ends codesg segmentstart: mov ax, data mov ds, ax ; 首先将data数据段放入ds中,用于提取数据时所用的地址 mov ax, table mov es, ax ; 然后将table数据段放入es中,用于放入时所用的地址 mov bx, 0 ; 将源内存分为两个起点,此为其一 mov si, 168 ; 将源内存分为两个起点,此为其二 mov di, 0 ; 目的内存的偏移地址 mov cx, 21 ; 一共有二十一年,因为设置循环次数为21s: mov al, ' ' ; byte ptr 指明了指令访问的内存单元是一个字节单元 mov es:[di].4, al mov es:[di].9, al mov es:[di].12, al mov es:[di].15, al ; 以上,先将一年中数据为空格的内存单元设为空格 mov ax, ds:[bx].0 ; 将年份放入目的地址 mov es:[di].0, ax mov ax, ds:[bx+2].0 mov es:[di+2].0, ax mov ax, ds:[bx].84 ; 将收入放入目的地址 mov es:[di].5, ax mov ax, ds:[bx+2].84 mov es:[di+2].5, ax mov ax, ds:[si] ; 将雇员数放入目的地址 mov es:[di].10, ax ; div除法指令; div 8位 16位; 被除数 ax dx*10000H + ax; 除数 [...] [...]; 商 al ax; 余数 ah dx ; 计算人均收入:总收入除以人数 mov dx, es:[di].7 mov ax, es:[di].5 ; 将被除数放入dx与ax中 div word ptr es:[di].10 ; 进行除法并且设定除数 mov es:[di].13, ax ; 结果会被放到ax中,将ax的结果放入目标内存中 add di, 16 add si, 2 add bx, 4 loop s mov ax, 4c00h int 21h codesg endsend start
- (2011.10.29)汇编_王爽_第08章_学习小结
- (2011.10.29)汇编_王爽_第七章_学习小结
- (2011.11.01)汇编_王爽_第09章_学习小结
- (2011.11.02)汇编_王爽_第10章_学习小结
- (2011.11.02)汇编_王爽_第11章_学习小结
- (2011.11.03)汇编_王爽_第12章_学习小结
- (2011.11.04) 汇编_王爽_第13章_学习小结
- (2011.11.04)汇编_王爽_第14章_学习小结
- (2011.11.07) 汇编_王爽_第15章_学习小结
- (2011.11.09)汇编_王爽_第16章_学习小结
- (2011.11.10) 汇编_王爽_第17章_学习小结
- (2011.10.26)汇编_王爽_第五章_学习小结
- (2011.10.28)汇编_王爽_第六章_学习小结
- (2011.11.12)汇编_王爽_全书_学习小记
- 程序员面试宝典_第13章_数据结构基础_排序算法小结(1)
- 程序员面试宝典_第13章_数据结构基础_排序算法小结(2)
- 程序员面试宝典_第13章_数据结构基础_排序算法小结(3)
- 程序员面试宝典_第13章_数据结构基础_排序算法小结(4)
- 软件开发面试百问
- 浅谈likely与unlikely
- 什么叫做“假学习”?什么是“真学习”!!
- ECNU 1624 求交集多边形面积
- VMware Workstation 中安装了fedora 9, 如何安装vmware tools?
- (2011.10.29)汇编_王爽_第08章_学习小结
- HIT 1014 高精度水题
- uva 10012 how big is it?
- cookie 和session 的区别
- Data-Intensive Text Processing with MapReduce第三章(4)-SECONDARY SORTING
- centos+lamp+magento
- Firefox和Chrome会因为修改hosts文件内的google站点而崩溃……
- Android 滑动切换页面 以及屏幕手势
- trie树--详解