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

我的博客

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

[2009-07-22 08:14] 检测点10.4

问AX值

内存地址    机器码       汇编指令
1000:0    b8 06 00    mov ax,6
1000:3    ff d0       call ax
1000:5    40          inc ax
1000:6                mov bp,sp
                      add ax,[bp]

第2版又出印刷错误了哈  我直接改1000:3了  
call ax后ip也变0006了
直接变out dx,al
     call far [di]……

后来知道自己算错了
错在没有设置栈 就...
阅读全文 | 评论次数(1) | 浏览次数(398) | 所属类型(汇编作业)

[2009-07-21 12:26] 检测点10.3

还是问AX的值

内存地址     机器码            汇编指令
1000:0     b8 00 00        mov ax,0
1000:3     9a 09 00 00 10  call far ptr s
1000:8     40              inc ax
1000:9     58            s:pop ax
                           add ax,ax
                           pop bx
                           add ax,bx...
阅读全文 | 评论次数(1) | 浏览次数(367) | 所属类型(汇编作业)

[2009-07-21 12:03] 检测点10.2

下面的程序执行后,AX中的值为多少?

内存地址    机器码       汇编指令
1000:0    b8 00 00   mov ax,0
1000: 3    e8 01 00   call s
1000: 6    40         inc ax
1000: 7    58       s:pop ax

ax=6  call s指令后的第一个直接的地址是6

请问:16位位移范围为-32768至32767 内存地址怎么显示负数?...
阅读全文 | 评论次数(2) | 浏览次数(449) | 所属类型(汇编作业)

[2009-07-21 11:27] 检测点10.1

补全程序,实现从内存1000:0000处开始执行指令
assume cs:code
stack segment
db 16 dup (0)
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,16
mov ax,1000h   这题有意思?
        1分钟内才看到retf等于pop ip然后pop cs
        当然先push cs  
push ax
mov ax,0000h
push ax
retf
code ends
end start...
阅读全文 | 评论次数(1) | 浏览次数(415) | 所属类型(汇编作业)

[2009-07-20 12:54] 实验9

assume cs:pirate,ds:data
data segment
db 'welcome to masm!'
data ends
pirate segment
start:mov ax,data
mov ds,ax
mov ax,0afeh    不是b800 因为我机器不能显示
mov es,ax
mov cx,10h      16次
mov bx,0
mov di,0
s:mov al,ds:[bx]     AX底位存第一个字母代码
mov ah,0002h         AX高位写入颜色代码00000010绿字
mov es:0000h[di]...
阅读全文 | 评论次数(2) | 浏览次数(448) | 所属类型(汇编作业)

[2009-07-11 17:01] 实验8

分析:程序返回的指令在最前面 就是说IP=0才能行
程序入口又在他后面5个机器码 一开始IP就是5
那就是一个不能正常结束的程序

上机:
assume cs:codesg
codesg segment                机器码
      mov ax,4c00h            B8004C
      int 21h                 CD21      
                                        IP=0005指向入口
start:mov ax,0                B80000   ...
阅读全文 | 评论次数(1) | 浏览次数(368) | 所属类型(汇编作业)

[2009-07-10 19:38] 检测点9.3

assume cs:code
code segment
start:mov ax,2000h
      mov ds,ax
      mov dx,0
    s:mov cl,[bx]
      mov ch,0
      inc cx  如果第一个数据就是0的话当执行到loop s的时候
                0-1就成一串F了 出不了循环  其实cx=1的时候就是
                循环的最后1次了
      inc bx
      loop s
   ok:dec bx
      mov dx,bx
      mov ...
阅读全文 | 评论次数(1) | 浏览次数(305) | 所属类型(汇编作业)

[2009-07-10 18:47] 检测点9.2

利用jcxz指令 是想在内存2000h段中查找第一个值为0的字节 并存入DX

assume cs:code
code segment
start:mov ax,2000h
      mov ds,ax
      mov bx,0
    s:mov cl,ds:[bx]    把CX分了 用低位 找值为0的字节
      mov ch,0          高位清0       
      jcxz ok 
      add bx,1
      jmp short s
   ok:mov dx,bx
      mov ax,4c00h
      i...
阅读全文 | 评论次数(1) | 浏览次数(384) | 所属类型(汇编作业)

[2009-07-10 18:14] 检测点9.1

[1]
assume cs:code
data segment
  ?               
data ends
code segmeng
start:mov ax,data
      mov ds,ax
      mov bx,0
      jmp word ptr [bx+1]
code ends
end start
要jmp指令执行后cs:ip指向第一条命令 只需要data定义的数据中第2位为00就行了(?? 00 ?? ?? ?? ?? ?? ??)
[2]
assume cs:code
data segmeng
dd 12345678h ...
阅读全文 | 评论次数(1) | 浏览次数(409) | 所属类型(汇编作业)

[2009-07-10 17:22] 实验7

data segment
db '1975'-'1995'        占用0-53
dd 16,22,……5937000     占用54-a7
dw 3,7,……17800         
data ends
table segment
db 21 dup ('year summ ne ?? ')
table ends
加个栈:
stack segment
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
stack ends

assume cs:pirate ds:data es:table ss:stack
pirate segme...
阅读全文 | 评论次数(1) | 浏览次数(371) | 所属类型(汇编作业)
『 查看更多文章 』