


- [anwu00] 完全正确 07/26 22:11
- [q470393267] 开学了一起研究单片机~ 07/25 17:42
- [whos] 晕,刚用其他数据测试了一下,发现有错误,忘了把bl左移了,修改后: .model small 07/21 11:01
- [whos] 自己刚改了一下,把里面测试dx最高位是否为1的指令去掉,然后用si来控制循环次数,不知道还能不能再简 07/21 10:42
- [whos] 呵呵,谢了,前段时间才发现自己理解错误了。第一个字符串参数的首地址是SS:0194H,参数结束的内存 05/26 23:31
- [sallon] 2.main函数汇编代码在最后多加了一条ret返回指令 ==== 呵呵,博主真幽默。 05/25 19:16
- [sallon] 不用确定长度,字符串的最后一位是0 另外对于字符串参数,传递的是子符串的偏移地址。即后边a的地址为 05/25 19:13
- [q470393267] X86的汇编语言我看到感觉晕的了,这几天就先做下单片机的课程设计玩玩哦~郁闷啊! 05/23 16:22
- [whos] 呵呵,多谢关心啊,我会注意的。 这段时间在忙考试,忙过了就继续忙汇编了 :) 05/22 23:06
- [q470393267] 你还有女朋友呢 这样对自己身体有点自私啊~ 呵呵~ 05/22 18:34
- [whos] 呵呵,学习要慢慢来,急不得的 :) 05/03 10:14
- [游客] 呵呵,学习要慢慢来,急不得的 :) 05/03 10:13
- [bade90] 都很好,挺不错的 能按循环渐进的方式学习 可惜我天生性急 今天看第一张明天就看最后一章了 呵呵 05/02 20:08
[2009-07-21 09:48] 把CH和CL中的二进制位依次交叉存入AX中。
.model small
.code
.startup
mov ax,0
mov cx,0ffh
mov bl,1
mov dx,1
d:
test cl,bl
jz a
or ax,dx
a:
test dx,1000000000000000b
jnz next
shl dx,1
test ch,bl
jz b
or ax,dx
b:
test dx,1000000000000000b
jnz next
shl dx,1
jmp d
next:
.exit...
.code
.startup
mov ax,0
mov cx,0ffh
mov bl,1
mov dx,1
d:
test cl,bl
jz a
or ax,dx
a:
test dx,1000000000000000b
jnz next
shl dx,1
test ch,bl
jz b
or ax,dx
b:
test dx,1000000000000000b
jnz next
shl dx,1
jmp d
next:
.exit...
阅读全文 |
评论次数(3) |
浏览次数(948) |
所属类型(默认类型)
[2009-05-16 17:55] 判断有向图结点间有无通路
采用邻接表存储有向图,设计算法判断任意两个顶点间是否存在路径。
#include "stdio.h"
#include "stdlib.h"
#include "malloc.h"
#define max 100
//定义邻接表中结点类型
typedef struct ARCNODE{
int adjvex;
ARCNODE *nextarc;
}ARCNODE;
//定义邻接表中头结点类型
typedef struct{
char vexdata;
ARCNODE *firstarc;
}AdjList;
//定义邻接表表头
typed...
#include "stdio.h"
#include "stdlib.h"
#include "malloc.h"
#define max 100
//定义邻接表中结点类型
typedef struct ARCNODE{
int adjvex;
ARCNODE *nextarc;
}ARCNODE;
//定义邻接表中头结点类型
typedef struct{
char vexdata;
ARCNODE *firstarc;
}AdjList;
//定义邻接表表头
typed...
阅读全文 |
评论次数(7) |
浏览次数(1013) |
所属类型(数据结构算法)
[2009-05-10 23:18] 研究实验5 函数如何接收不定数量的参数
1)
main函数是如何给showchar传递参数的?
main函数先把参数放到ax中,然后将ax中的值进栈,最终把参数放到栈中,利用栈给showchar传递参数。
showchar是如何接收参数的?
showchar从栈中相应位置取出参数,放入ax中,这样就接收到了参数。
2)
0B86:022D 55 PUSH BP
0B86:022E 8BEC MOV BP,SP
0B86:0230 56 PUSH SI
0B86:0231 33F6 XOR SI,SI ...
main函数是如何给showchar传递参数的?
main函数先把参数放到ax中,然后将ax中的值进栈,最终把参数放到栈中,利用栈给showchar传递参数。
showchar是如何接收参数的?
showchar从栈中相应位置取出参数,放入ax中,这样就接收到了参数。
2)
0B86:022D 55 PUSH BP
0B86:022E 8BEC MOV BP,SP
0B86:0230 56 PUSH SI
0B86:0231 33F6 XOR SI,SI ...
阅读全文 |
评论次数(4) |
浏览次数(982) |
所属类型(汇编作业)
[2009-05-10 00:13] 研究实验4 不用main函数编程
1)
编译成功,连接出错。
出错信息为:Undefined symbol '_main' in module C0S
错误信息与c0s.obj文件相关。
2)
程序的汇编代码如下:
0B86:0000 55 PUSH BP
0B86:0001 8BEC MOV BP,SP
0B86:0003 BB00B8 MOV BX,B800
0B86:0006 8EC3 MOV ES,BX
0B86:0008 BB9006 MOV BX,0690
0B8...
编译成功,连接出错。
出错信息为:Undefined symbol '_main' in module C0S
错误信息与c0s.obj文件相关。
2)
程序的汇编代码如下:
0B86:0000 55 PUSH BP
0B86:0001 8BEC MOV BP,SP
0B86:0003 BB00B8 MOV BX,B800
0B86:0006 8EC3 MOV ES,BX
0B86:0008 BB9006 MOV BX,0690
0B8...
阅读全文 |
评论次数(3) |
浏览次数(904) |
所属类型(汇编作业)
[2009-05-09 16:09] 研究实验3 使用内存空间
1)
0B86:01F8 0000 ADD [BX+SI],AL
0B86:01FA 55 PUSH BP
0B86:01FB 8BEC MOV BP,SP
0B86:01FD C606002061 MOV BYTE PTR [2000],61 ;*(char *)0x2000='a';
0B86:0202 C70600200F00 MOV WORD PTR [2000],000F ;*(int *)0x2000=0xf;
0B...
0B86:01F8 0000 ADD [BX+SI],AL
0B86:01FA 55 PUSH BP
0B86:01FB 8BEC MOV BP,SP
0B86:01FD C606002061 MOV BYTE PTR [2000],61 ;*(char *)0x2000='a';
0B86:0202 C70600200F00 MOV WORD PTR [2000],000F ;*(int *)0x2000=0xf;
0B...
阅读全文 |
评论次数(2) |
浏览次数(735) |
所属类型(汇编作业)
[2009-05-09 10:33] 研究实验2 使用寄存器
2)
用debug加载url.exe后,如下:
MATRIX=>debug url.exe
-u
0B86:0000 BADD0B MOV DX,0BDD
0B86:0003 2E CS:
0B86:0004 8916F801 MOV [01F8],DX
0B86:0008 B430 MOV AH,30
0B86:000A CD21 INT 21
0B86:000C 8B2E0200 MOV BP,[0002]
0B86:0010 8B1E...
用debug加载url.exe后,如下:
MATRIX=>debug url.exe
-u
0B86:0000 BADD0B MOV DX,0BDD
0B86:0003 2E CS:
0B86:0004 8916F801 MOV [01F8],DX
0B86:0008 B430 MOV AH,30
0B86:000A CD21 INT 21
0B86:000C 8B2E0200 MOV BP,[0002]
0B86:0010 8B1E...
阅读全文 |
评论次数(4) |
浏览次数(617) |
所属类型(汇编作业)
[2009-05-09 09:51] 研究实验1 搭建一个精简的C语言开发环境
将.obj文件连接生产.exe文件必须用到的文件清单如下:
tc.exe
cos.obj
emu.lib
cs.lib
graphics.lib
maths.lib...
tc.exe
cos.obj
emu.lib
cs.lib
graphics.lib
maths.lib...
阅读全文 |
评论次数(2) |
浏览次数(590) |
所属类型(汇编作业)
[2009-05-09 01:55] 课程设计二
经过四天多的努力以及参考相关资料,勉强把自己的课程设计2做出来了。说实话,做到这个份上我已经不知道该说什么了,不是说自己做的好,而是有好多不足的地方,但是却不知道怎么改,或者改起来好麻烦。
下面具体说下不足的地方:
1)选择功能3进行颜色变换时,有时候会出现字符刷新延迟的现象。
2)选择功能4修改时钟时间时,屏幕上会显示出之前选择的数字,按Backspace键可以删除,然后依次输入年月日时分秒,是连续输入的,比如09年08月07日06时05分04秒,就要输入090807060504,最后回车。
如果之后不进行重启操作,则再次选择功能4修改时间时,屏幕上会出现上次输入的数据,要删除之...
下面具体说下不足的地方:
1)选择功能3进行颜色变换时,有时候会出现字符刷新延迟的现象。
2)选择功能4修改时钟时间时,屏幕上会显示出之前选择的数字,按Backspace键可以删除,然后依次输入年月日时分秒,是连续输入的,比如09年08月07日06时05分04秒,就要输入090807060504,最后回车。
如果之后不进行重启操作,则再次选择功能4修改时间时,屏幕上会出现上次输入的数据,要删除之...
阅读全文 |
评论次数(10) |
浏览次数(919) |
所属类型(汇编作业)
[2009-05-05 16:00] 实验17 编写包含多个功能子程序的中断例程
题目是让写包含多个功能子程序的中断例程,但是我写的是直接把功能号变换之后送入int 7ch中断,也能达到目的。不知道行不行?
assume cs:code
code segment
start:
mov ax,cs
mov ds,ax
mov si,offset int7c
mov ax,0
mov es,ax
mov di,200h
mov cx,offset int7cend-offset int7c
cld
rep movsb
cli
mov word ptr es:[7ch*4],200h
mov word ptr es:[7ch*4+...
assume cs:code
code segment
start:
mov ax,cs
mov ds,ax
mov si,offset int7c
mov ax,0
mov es,ax
mov di,200h
mov cx,offset int7cend-offset int7c
cld
rep movsb
cli
mov word ptr es:[7ch*4],200h
mov word ptr es:[7ch*4+...
阅读全文 |
评论次数(3) |
浏览次数(586) |
所属类型(汇编作业)
[2009-05-05 15:56] 检测点17.1
这种说法不对。如果有设置IF=1的指令的话,那么正在执行int 16h中断的时候,有可能又发生了其他的中断,这样cpu转去执行其他的中断,则int 16h的中断功能就遭到了破坏。...
阅读全文 |
评论次数(2) |
浏览次数(574) |
所属类型(汇编作业)