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

我的博客

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

[2010-09-04 23:15] 习题3.39

设从地址F000:0000H开始的1K字节内存区域是缓冲去。请写一个可收集该区域所有子串“OK”开始地址的程序。

答:
;-----------------------------------------------------
assume  cs:code
data    segment
        dw      8 dup (0)      ;存放子串是OK的偏移地址
data    ends

code    segment
start:
        mov ax,0f000h          ;设定DS地址
        mov ds,ax
...
阅读全文 | 评论次数(0) | 浏览次数(290) | 所属类型(汇编习题集)

[2010-09-04 18:24] 习题3.38

设从地址F000:0000H的开始的内存区是缓冲区,存放一组单字节的正数,负数或零。请编写一个程序确定其中的最大正数和最小负数。

答:就是个排序。咦~???咋没说尺寸多大呀?! 得,就定1024字节吧
;-----------------------------------------------------
assume  cs:code
code    segment
start:
        mov ax,0f000h
        mov ds,ax
;求最大值,结果在DH中
        mov cx,1024
        mov bx,0
  ...
阅读全文 | 评论次数(0) | 浏览次数(301) | 所属类型(汇编习题集)

[2010-09-04 16:15] 习题3.37

设已在地址F000:0000H开始的内存区域安排了1024个16位有符号数。请编写程序统计其中的正数,负数和零的个数,并分别转成对应的十进制数显示出来。

答:
;-----------------------------------------------------
assume  cs:code,ss:stack,es:data
data    segment
posi    dw      0               ;正数个数
nega    dw      0               ;负数个数
zero    dw      0              ...
阅读全文 | 评论次数(0) | 浏览次数(314) | 所属类型(汇编习题集)

[2010-09-03 22:19] 习题3.36

设已在地址F000:0000H开始的内存区域安排了100个字节的无符号8位二进制数。请编写程序求他们的和,并转换成十进制显的ASCII码串显示。

答:
;-----------------------------------------------------
assume  cs:code,ss:stack
stack   segment stack               ;程序需要,故
        dw 128 dup (0)              ;定义栈段。
stack   ends
code    segment
start:
        mo...
阅读全文 | 评论次数(0) | 浏览次数(292) | 所属类型(汇编习题集)

[2010-09-03 21:20] 习题3.35

请写出一个求地址F000:0000H开始的64K字节内存区域的校验和,并转换成十六进制的ASCII。

答:
;-----------------------------------------------------

assume  cs:code
code    segment
start:
        mov ax,0f000h       ;指定DS=F000
        mov ds,ax           ;偏移地址SI=0
        mov si,0
        mov cx,0FFFFh       ;循环计数器64K次
     ...
阅读全文 | 评论次数(0) | 浏览次数(311) | 所属类型(汇编习题集)

[2010-09-03 17:31] 习题3.34

请写出一个实现数据块移动的示例程序。

答:假设数据从A处移动至B处。
用串指令movsb配合重复前缀指令rep即可。或用传统的循环也可。
;-----------------------------------------------------
        mov si,offset A
        mov di,offset B
        mov cx,lengthof A

        cld
        rep movsb

s:      mov al,[si]
        mov [di],al
        inc s...
阅读全文 | 评论次数(0) | 浏览次数(274) | 所属类型(汇编习题集)

[2010-09-03 17:26] 习题3.33

请写出一个可把某个十六进制数ASCII码串转换成对应的二进制数的示例程序。

答:
;-----------------------------------------------------
assume  cs:code
code    segment
start:
        mov al,12h
        sub ah,ah
        mov cx,8
L:      rol al,1
        push ax
        adc dl,0
        add dl,30h
        mov ah,2
        i...
阅读全文 | 评论次数(0) | 浏览次数(284) | 所属类型(汇编习题集)

[2010-09-03 11:35] 习题3.32

请写出一个可把某个十进制数ASCII码串转换成对应的二进制数的示例程序。

答:
;----------------------------------------------------
assume  cs:code
code    segment
start:
        mov al,'9'
        sub al,30h
        sub ah,ah
        mov cx,8
L:      rol al,1
        push ax
        adc dl,0
        add dl,30h
        m...
阅读全文 | 评论次数(0) | 浏览次数(285) | 所属类型(汇编习题集)

[2010-09-03 10:27] 习题3.31

请写出可把某个十进制数ASCII码串转换为对应非压缩BCD码和压缩BCD码的示范程序。

答:
;-----------------------------------------------------

assume  cs:code,ds:data
data    segment
var     db      18      ;十进制数18
diver   db      10      ;除数
a       db      0,0     ;预留非压缩码BCD空间
b       db      0       ;预留压缩码BCD空间
data    ends...
阅读全文 | 评论次数(0) | 浏览次数(290) | 所属类型(汇编习题集)

[2010-09-03 10:06] 习题3.30

请写出一个可把某个字变量的值转换为对应二进制数ASCII码的示例程序

答:
;----------------------------------------------------
assume  cs:code,ds:data
data    segment
tmp     db      16 dup (0)
data    ends
code    segment
start:  mov ax,data
        mov ds,ax
        mov bx,offset tmp
        mov ax,1234h
        call ...
阅读全文 | 评论次数(0) | 浏览次数(286) | 所属类型(汇编习题集)
页码数(16):  1  2  3  4  5  6  7  8  9  10   >>