- [zyc969] 写第二空时的思维是正确的,但第一空是错误的,第二空必须用到第一空的数据,所以第二空也是错的。 我十 05/20 22:00
- [tomato] 两道题都做错了? 认真态度有待提高啊! 05/20 20:57
- [tomato] 是的,这本书就是要一字一句地读才行。 05/18 22:54
- [zyc969] 嗯,明白了。 05/18 13:46
- [tomato] 应该是第二道题做错了。 05/17 08:57
- [tomato] 学习质量第一。 05/15 23:22
- [tomato] 对了,博主的博客中没有动态显示,博主可以观察一下其它学习者的学习博客,好像是参加了汇编语言学习活动的 05/13 23:20
- [tomato] 做的没问题,不过,这才是第一章,当然还是比较简单的,虽然后面的章节也不难,难的是是否能够一直坚持下去 05/13 23:19
[2013-08-11 18:43] 检测点10.1~10.5
1000H
0
检测点10.2
6
检测点10.3
1010H
检测点10.4
000BH
检测点10.5
(1)
3
(2)
1
0...
[2013-08-11 18:50] 实验10.3
data segment
db 10 dup (0)
data ends
code segment
start:mov ax,12666
mov bx,data
mov ds,bx
mov si,0
call dtoc
mov dh,8
mov dl,3
mov cl,2
call show_str
stop:jmp stop
mov ax,4c00h
int 21h
dtoc:push ax
push cx
push si
push bx
push dx
...
[2013-08-11 21:20] 文件处理:将 COPY/B 合并的文件分离还原成原样
; 原使用的合并命令:"COPY/B A.JPG+A.TXT B.JPG"
; CODE BY cutebe @ asmedu.net
;用法:SEP.EXE B.JPG A.JPG A.TXT
ASSUME CS:CODE
CODE SEGMENT ;JPG文件头,开头为字节数
JPGHEAD DB 3,0,0FFH,0D8H,0FFH
JPGTAIL DB 2,0,0FFH,0D9H
;JPG文件尾,第2个用于对比
; 6,0,'GIF89a...
[2013-08-11 10:28] 第三章 寄存器(内存访问)
栈的这种操作规则被称为:LIFO(Last In First Out,后进先出)。
3.7 CPU提供的栈机制
8086CPU提供入栈和出栈指令,最基本的两个是 PUSH(入栈)和 POP(出栈)。
任意时刻,SS:SP 指向栈顶元素。
PUSH AX (SP=SP-2)
POP AX (SP=SP=2)
3.8 栈顶超界的问题
在执行push、pop指令时,要注意当栈满的时候再使用push指令入栈,或栈空时再使用pop指令出栈,都将发生栈顶超界问题。
3.9 push、pop指令
push 寄存器 将一个寄存器中的数据入栈...
[2013-08-12 20:44] 汉字显示:汇编显示点阵汉字(你好)
; 一点一点画的,没漂亮;不过能显示出来很高兴
; CODE BY cutebe @ asmedu.net
ASSUME CS:CODE,DS:DATA
DATA SEGMENT
; FEDCBA9876543210
CNCHAR0 DW 0000010100000000B ;0 你
DW 0000100110000010B ;1
DW 0001000111111111B ;2
DW 0010001000100010B ;3
DW 01100100001...
[2013-08-10 13:17] 课程设计2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;任务:编写一个可以自行启动计算机,不需要在现有操作系统环境中运行的程序
;功能:1)重新启动计算机
; 2)引导现有的操作系统
; 3)进入时钟程序
; 4)设置时间
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
assume cs:code
code segment
set...
[2013-08-10 17:55] 研究试验3
C语句对应的汇编代码
---------------------
*(char *)0x2000='a';
mov byte ptr [2000h],61
*(int *)0x2000=0xf;
mov word ptr [2000h],0fh
*(char far *)0x20001000='a';
mov bx,2000h
mov es,bx
mov bx,1000h
mov byte ptr es:[bx],61
_AX=0x2000;
mov ax,2000h
*(char *)_AX='b';
mov bx,ax
mov...
[2013-08-11 18:53] 课程设计1
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'
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
dd 345980,590827,803530,1183000,18...
[2013-08-10 14:58] 研究试验1~2
----------------
经测试,编译时可正常通过,连接时,依次缺少下列文件:
c0s.obj
emu.lib
maths.lib
graphics.lib
cs.lib
研究试验2 使用寄存器
----------------
1.main函数在代码段中的偏移地址为1fa(printf("%x\n",main))
2.C语句对应的汇编代码
------
_AX=1;
mov ax,1
_BX=1;
mov bx,1
_CX=2;
mov cx,2
_AX=_BX+_CX;
mov a...
[2013-08-10 19:58] 研究试验4
---------------
f()
{
*(char far *)(0xb8000000+160*10+80)='a';
*(char far *)(0xb8000000+160*10+81)=2;
}
---------------
程序M.C
---------------
main()
{
*(char far *)(0xb8000000+160*10+80)='a';
*(char far *)(0xb8000000+160*10+81)=2;
}
---------------
用TC.exe对F.C进行编译,用...
[2013-08-11 18:44] 实验10.1
data segment
db 'Welcome to masm!',0
data ends
code segment
start:mov dh,8
mov dl,3
mov cl,2
mov ax,data
mov ds,ax
mov si,0
call show_str
stop:jmp stop
mov ax,4c00h
int 21h
show_str:push bp
push si
push es
push ax
push bx
push cx
mov ax,0b...
[2013-08-12 19:07] 实验11
datasg segment
db "Beginner's All-purpose Symbolic Instruction Code.",0
datasg ends
codesg segment
begin:mov ax,datasg
mov ds,ax
mov si,0
call letterc
mov ax,4c00h
int 21h
letterc:push si
push cx
mov ch,0
letterc_s:mov cl,[si]
jcxz letterc_end
cmp...
[2010-02-14 09:06] 《汇编语言》第九章实验8
;运行后再思考:为什么是这种结果?
ASSUME CS:CODE
CODE SEGMENT
MOV AH,4CH
INT 21H
START: MOV AX,0
S: NOP
NOP
MOV DI,OFFSET S
MOV SI,OFFSET S2
MOV AX,CS:[SI]
MOV CS:[DI],AX
S0: JMP SHORT S
S1: MOV AX,0
INT ...
[2013-08-12 19:02] 检测点11.1~11.4
1 1 0
1 1 0
1 1 0
1 1 0
0 0 0
0 1 0
0 1 0
检测点11.2
al=00H 0 0 0 1 1
al=10H 0 0 0 1 1
al=A0H 0 0 1 0 1
al=80H 0 0 1 0 1
al=00H 1 1 0 1 1
al=FCH 1 1 0 1 1
al=01H 1 0 0 0 0
al=7DH 1 0 0 0 0
al=88H 0 1 1 0 1
关于11.6节add128函数中add是否可以代替inc的问题:
个人认为必然不可以,因为如果用add取代inc,则adc运算后CF...
[2013-08-11 18:48] 实验10.2
codesg segment
start:mov ax,4240H
mov dx,000FH
mov cx,0AH
call divdw
mov ax,4c00H
int 21H
divdw:push bx
mov bx,ax ;低16位在bx
mov ax,dx
mov dx,0
div cx
push ax ;存储结果
mov ax,bx ;低16位在ax
div cx
mov bx,dx ;余数在bx
pop dx
mov cx,bx
pop bx
ret
cod...
[2013-08-11 21:17] 初来咋到
[2008-08-11 06:40] 检测点9.2—— 一点感想
assume cs:code
code segment
start:
mov ax, 2000H
mov ds, ax
mov bx, 0H
s: ________
________
________
________
jmp short s
ok:
mov dx, bx
...
[2011-09-01 21:06] BOCHS安装DOS并虚拟出两个软盘
安装过程如下:
1.下载Bochs-2.3.7.exe安装。
2.下载MS-DOS 7.10 完全安装版,我们只要里面的
DOS71_1.IMG和DOS71_2.IMG,这是两种dos安装软盘。
3.在C:\Program Files\Bochs-2.3.7下建了个名为msdos-img的文件夹,把DOS71_1.IMG和DOS71_2.IMG放进去。
4.建立一个虚拟的C盘,等会dos就安装在c盘
运行C:\Program Files\Bochs-2.3.7\bx...
[2008-04-03 11:36] 【课程设计2必备】一个简装版的Virtual PC+仿真虚拟软驱的下载地址(附说明)
提供一个:
1、仿真虚拟软驱
2、Virtual PC(注:虚拟机软件名称)
的下载地址,内含详细的安装及使用说明,欢迎大家下载!
http://pickup.mofile.com/0667815817317830...
[2012-05-29 12:59] 【转】Debug命令详解
功能: 将指令直接汇编成机器码输入到内存中。
说明: 用于小段程序的汇编及修改目标程序,所有输入的数字均采用十六进制, 用户装入内存的汇编语句是连续存放的,若没有指定地址,并且前面没有使用汇编命令,改语句被汇编到 CS:0100区域。
例A:>DEBUG
-a 0100
08F1:0100 MOV AH,09
08F1:0102 MOV DX,109
08F1:0105 INT 21H;
08F1:0107 INT 21H;<-XP下运行cmd debug时,应该是INT 20H,21H会出...