问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]……
后来知道自己算错了
错在没有设置栈 就...
- [游客] 回答OK。 我们这边只能是偏食,看了一下。 07/23 11:31
- [pirate0924] 收到 谢谢 07/22 07:35
- [mywiil] 理解正确。 07/21 16:33
- [mywiil] 内存地址怎么显示负数? ========== 内存中没有负数的显示形式,负数在内存中是以补码的形 07/21 16:17
- [mywiil] 我们都是正常的啊。 你放到b800:0开始的地址后,直接运行,屏幕什么都不显示么? 07/21 16:16
- [mywiil] 1010H 呵呵。 07/21 16:14
- [wsrf] 我的机器就能显示,只是不是在中间位置。 07/20 18:41
- [younggay] 借鉴不可怕,可怕的是依赖。 楼主更重要的是要去体会别人的思维方式。 加油。 07/14 15:03
- [younggay] 只需要data定义的数据中第2位为00就行了 ============== 这还得看你定义的数据 07/14 14:59
- [younggay] 这个回答正确。 07/14 14:58
[2009-07-22 08:14] 检测点10.4
阅读全文 |
评论次数(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...
内存地址 机器码 汇编指令
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 内存地址怎么显示负数?...
内存地址 机器码 汇编指令
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...
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]...
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 ...
程序入口又在他后面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 ...
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...
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 ...
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...
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) |
所属类型(汇编作业)
『 查看更多文章 』