汇编网首页登录博客注册
zkkpkk的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言
好友圈
文章收藏
友情链接

[2008-03-26 10:54] 32位地址的寻址方式

点击查看原图
在32位微机系统中,除了支持前面的七种寻址方式外(注1),又提供了一种更灵活、方便,但也更复杂的内存寻址方式,从而使内存地址的寻址范围得到了进一步扩大。

在用16位寄存器来访问存储单元时,只能使用基地址寄存器(BX和BP)和变址寄存器(SI和DI)来作为地址偏移量的一部分,但在用32位寄存器寻址时,不存在上述限制,所有32位寄存器(EAX、EBX、ECX、EDX、ESI、EDI、EBP和ESP)都可以是地址偏移量的一个组成部分。

当用32位地址偏移量进行寻址时,内存地址的偏移量可分为三部分:一个32位基址寄存器,一个可乘1、2、4或8的32位变址寄存器,一个8位/32位的偏移常量,...
阅读全文 | 评论次数(7) | 浏览次数(2235) | 所属类型(学习感悟)

[2008-02-05 01:13] 读取CMOS时间并显示

点击查看原图
assume cs:code
code segment
start:
        mov bx,0b800h
        mov es,bx
        mov si,160*12+30*2
        
        ;显示年月日
        mov cx,3
        mov al,9        
        s:
                push ax        
                call fun
                mov byte ptr es:[si],ah
                mov byte ptr es:[si+2],al
                mov byte ptr es:[si+2].2h,2fh
                pop ax
                add si,6
                dec al
        loop s
        mov byte ptr es:[s...
阅读全文 | 评论次数(2) | 浏览次数(1142) | 所属类型(汇编作业)

[2008-02-04 00:25] 把0结尾的字符串中的小写转大写

点击查看原图
;思路很简单ASCII码在60H~7BH之间的都是小写字母
;用jna和jnb即可
assume cs:code
data segment
        db "Beginner's All-purpose Symbolic Instruction Code.",0
data ends
code segment
start:
        mov ax,data
        mov ds,ax
        mov si,0
        call letterc
        mov ax,4c00h
        int 21h
letterc:
        push cx
        mov ch,0
head:
        mov cl,[si]
        jcxz...
阅读全文 | 评论次数(1) | 浏览次数(1206) | 所属类型(汇编作业)

[2008-01-21 13:21] 内核旅行

《Windows核心编程入手》,开始了我的内核旅行,汇编的测试暂时搁置,我一定会找时间补上来,走了一些弯路,始终还是走上了正轨,轻重缓急应该能自己拿捏了,我想我应该不会像李马说的那样,在茫茫“核海”中而走火入魔,最后连信手写一个双向链表都BUG繁出。万不可大言不惭地拿出“程序设计=数据结构+算法”这个公式去教育自己的学弟学妹,而自己又将其束之高阁.........
阅读全文 | 评论次数(1) | 浏览次数(809) | 所属类型(学习感悟)

[2008-01-18 17:54] 午觉醒来第一件大事——微软开源!

点击查看原图
刚刚才接到同学的短信息,其实昨天就发出消息了, 微软总算放下包袱了,正如《反托拉斯行动》里说的那样:就像莎士比亚的戏剧,信息是属于全人类的,知识是属于全人类的!

继续关注,部分源代码查看网站: http://www.123aspx.com/Rotor/Default.aspx 
我第一个看了集合类库,Arraylist实现方法是,超界的时候用Array.Copy来装 
我做的时候是定义两个object[],想想看MS的做法才是真正的代码重组,每个类都是经过深思熟虑的...
阅读全文 | 评论次数(3) | 浏览次数(929) | 所属类型(个人日记)

[2008-01-18 02:25] 第9章实验9闪烁的彩字

点击查看原图
assume cs:code,ds:data
data segment
        db 'welcome to masm!'
data ends
code segment
start:
        mov ax,0b800h
        add ax,150
        mov es,ax
        mov ax,data
        mov ds,ax
        mov bx,0
        mov di,0
        mov cx,16
        
        s:
                mov si,0
                mov al,ds:[di]
                ;绿色闪烁
                mov es:[bx+si],al
                mov ah,10000010b
                mov es:[bx+si+...
阅读全文 | 评论次数(1) | 浏览次数(812) | 所属类型(汇编作业)

[2008-01-18 02:24] 第9章实验8分析

程序成功跳出而没有死循环,关键在于被复制的jmp short s1上,masm把它编译成机器码后并不以标示为跳转基准,而是老老实实地执行编译出来的机器码,向上偏移。...
阅读全文 | 评论次数(2) | 浏览次数(943) | 所属类型(汇编作业)

[2008-01-18 00:33] 测试9.1-9.3

;9.1(1)
assume cs:code
data segment
        db 0,0,0
data ends
code segment
start:
        mov ax,data
        mov ds,ax
        mov bx,0
        jmp word ptr [bx+1]
        
        mov ax,4c00h
        int 21h
code ends
end start

;9.1(2)
assume cs:code
data segment
        dd 12345678h
data ends
code segment
start:
        mov ax,data
        mov ...
阅读全文 | 评论次数(1) | 浏览次数(901) | 所属类型(汇编作业)

[2008-01-16 13:35] 第8章最后一题

assume cs:code,ds:data,es:table
data segment
        db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
        db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
        db '1993','1994','1995'
        ;以上21个串表示年份
        dd 16,32,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
        dd 34598...
阅读全文 | 评论次数(1) | 浏览次数(776) | 所属类型(汇编作业)

[2008-01-15 11:11] 第7章最后一题

assume cs:code,ss:stack,ds:data
stack segment
        dw 0,0,0,0,0,0,0,0
stack ends
data segment
        db '1. display      '
        db '2. brows        '
        db '3. replace      '
        db '4. modify       '
data ends
code segment
start:
        mov ax,data
        mov ds,ax
        mov ax,stack
        mov ss,ax
        mov sp,16
        mov bx,0
...
阅读全文 | 评论次数(4) | 浏览次数(801) | 所属类型(汇编作业)
『 查看更多文章 』