#define ListSize 100
typedef int DataType
// 顺序表
typedef struct
{
DataType data[ListSize];
int length;
} SeqList;
// 单链表
typedef struct node
{
DataType data;
struct node *next;
} ListNode;
typedef ListNode *LinkList;
ListNode *p; // 定义一个指向结点的指针变量
ListList he...
- [assumechen] 呵呵,我把程序搞复杂了。谢谢! 07/12 23:58
- [fpamc] MOV BX,AX MOV AX,DX MOV DX,0 07/11 23:26
- [assumechen] 这个公式原来一直想不明白,总是觉得会溢出,直到看到这个贴子才转过来。 http://www.asm 07/11 21:19
- [assumechen] 谢谢! 07/11 21:16
- [fpamc] 对的。 07/09 23:04
- [assumechen] 谢谢 06/30 22:34
- [assumechen] 谢谢 06/30 22:33
- [fpamc] 对的。 06/30 10:26
- [fpamc] 恩对的, 06/30 10:24
- [assumechen] 是程序错了,把这一句: mov word ptr es:[0dH],ax ; 雇员的平 06/29 14:45
[2020-04-08 07:43] 数据结构的定义
阅读全文 |
评论次数(0) |
浏览次数(390) |
所属类型(The C Program Langua)
[2019-03-31 17:13] 课程设计1
assume cs:code, ds:data, ss:stack
data segment
db '1975', '1976', '1977', '1978', '1979', '1980', '1981', '1982'
db '1983', '1984', '1985', '1986', '1987', '1988', '1989', '1990'
db '1991', '1992', '1993', '1994', '1995'
; 以上表示21个年份的字符串 0 - 83
dd 16,22,382,1...
data segment
db '1975', '1976', '1977', '1978', '1979', '1980', '1981', '1982'
db '1983', '1984', '1985', '1986', '1987', '1988', '1989', '1990'
db '1991', '1992', '1993', '1994', '1995'
; 以上表示21个年份的字符串 0 - 83
dd 16,22,382,1...
阅读全文 |
评论次数(0) |
浏览次数(349) |
所属类型(汇编作业)
[2013-11-02 09:56] gdb-examine-x命令
Examine memory: x/FMT ADDRESS.
ADDRESS is an expression for the memory address to examine.
FMT is a repeat count followed by a format letter and a size letter.
Format letters are o(octal), x(hex),
d(decimal), u(unsigned decimal), t(binary),
f(float), a(address), i(instruction),
c(char) and s...
ADDRESS is an expression for the memory address to examine.
FMT is a repeat count followed by a format letter and a size letter.
Format letters are o(octal), x(hex),
d(decimal), u(unsigned decimal), t(binary),
f(float), a(address), i(instruction),
c(char) and s...
阅读全文 |
评论次数(0) |
浏览次数(442) |
所属类型(gdb)
[2013-10-31 17:36] 实现打印直方图
题意要求: 把整型数组中的统计的计数信息用直方图的形式打印出来.
要实现打印直方图, 我现在想到的思路如下:
1. 遍历数组, 把值大于0的打印一个符号出来
2. 重复第一步, 一直到数组的值全部等于0为止.
但是到要实现第二步的终止条件,我们可以通过比较来获取得最大的循环次数. 我这里是通过与的方式来实现的, 当数组某个下标的值等于0时,就与上0XFFFF.这样当数组的值全为0时,就可以退出循环了.代码如下:
/*
* *a: 存储统计信息的数组
* len: 数组的长度
* sign: 要打印的符号
*/
void print_histogram(int...
要实现打印直方图, 我现在想到的思路如下:
1. 遍历数组, 把值大于0的打印一个符号出来
2. 重复第一步, 一直到数组的值全部等于0为止.
但是到要实现第二步的终止条件,我们可以通过比较来获取得最大的循环次数. 我这里是通过与的方式来实现的, 当数组某个下标的值等于0时,就与上0XFFFF.这样当数组的值全为0时,就可以退出循环了.代码如下:
/*
* *a: 存储统计信息的数组
* len: 数组的长度
* sign: 要打印的符号
*/
void print_histogram(int...
阅读全文 |
评论次数(0) |
浏览次数(445) |
所属类型(The C Program Langua)
[2013-05-21 17:46] 把十六进制字符串转化为数字
问题描述: 编写函数 htoi(s),把由十六进制数字组成的字符串(包含可选的前缀0x或0X)转换为与之等价的整型值。字符串中允许包含的数字包括:0~9、a~f 以及 A~F。
步骤:
1. 先判断字符串的长度是否大于2, 因为十六进制数字字符串以0x或0X开始, 长度肯定大于2
2. 先判断十六进制的字符串是否为 0x或0x开始, 非法格式则返回-1
3. 把字符串编码范围在'A'到'F'范围内的转成小写字符
4. 按公式 n = base^power * bit来计算数值. n:就是十六进制表示的十进制值, base就是基数16, power就是对应的位权, bit...
步骤:
1. 先判断字符串的长度是否大于2, 因为十六进制数字字符串以0x或0X开始, 长度肯定大于2
2. 先判断十六进制的字符串是否为 0x或0x开始, 非法格式则返回-1
3. 把字符串编码范围在'A'到'F'范围内的转成小写字符
4. 按公式 n = base^power * bit来计算数值. n:就是十六进制表示的十进制值, base就是基数16, power就是对应的位权, bit...
阅读全文 |
评论次数(0) |
浏览次数(530) |
所属类型(The C Program Langua)
[2013-04-01 16:11] 实验14的实现
assume cs:code
code segment
; 要格式化的字符串
s1: db 32h,30h,0,0,'/',0,0,'/',0,0,' ',0,0,':',0,0,':',0,0,'$'
; CMOS日期部分的参数
s2: db 9,8,7,4,2,0
; 要格式化的字符串中变量的偏移地址
s3: db 2,5,8,11,14,17
start:
; 秒:0 2:分 4:时 7:日 8:月 年:9
; 以"年/月/日 时:分:秒"的格式
; bx,di,si,cx
mov ax,cs
mov ds, ax
mov di, of...
code segment
; 要格式化的字符串
s1: db 32h,30h,0,0,'/',0,0,'/',0,0,' ',0,0,':',0,0,':',0,0,'$'
; CMOS日期部分的参数
s2: db 9,8,7,4,2,0
; 要格式化的字符串中变量的偏移地址
s3: db 2,5,8,11,14,17
start:
; 秒:0 2:分 4:时 7:日 8:月 年:9
; 以"年/月/日 时:分:秒"的格式
; bx,di,si,cx
mov ax,cs
mov ds, ax
mov di, of...
阅读全文 |
评论次数(0) |
浏览次数(533) |
所属类型(汇编作业)
[2013-03-29 23:42] 将word型数据转变为表示十进制数的字符串,字符串以0为结尾
; 名称:dtoc
; 功能:将word型数据转变为表示十进制数的字符串,字符串以0为结尾符
; 参数:(dx)=dword型数据的高16位
; (ax)=dword型数镜的低16位
; ds:si指向字符串的首地址
; 返回:无
dtoc:
PUSH DX
PUSH BX
PUSH AX
PUSH SI
push cx
push di
; 在子程序中使用栈时,要把主程序的栈暂存起来
; 在子程序返回前要把栈设置为主程序的栈
; 换栈可以用寄存器保存或者用栈来实现
mov bx,ss
mov di,sp
MOV dx,...
; 功能:将word型数据转变为表示十进制数的字符串,字符串以0为结尾符
; 参数:(dx)=dword型数据的高16位
; (ax)=dword型数镜的低16位
; ds:si指向字符串的首地址
; 返回:无
dtoc:
PUSH DX
PUSH BX
PUSH AX
PUSH SI
push cx
push di
; 在子程序中使用栈时,要把主程序的栈暂存起来
; 在子程序返回前要把栈设置为主程序的栈
; 换栈可以用寄存器保存或者用栈来实现
mov bx,ss
mov di,sp
MOV dx,...
阅读全文 |
评论次数(0) |
浏览次数(526) |
所属类型(汇编作业)
[2012-07-11 21:18] 实验10:divdw的实现
assume cs:code
code segment
start:
mov ax,4240H
mov dx,000FH
mov cx,0AH
call divdw
mov ax,4c00H
int 21H
; 名称: divdw
; 功能: 进行不会溢出的除法运算
; 参数:(ax)=dword型数据的低16位
; (dx)=dword型数据的高16位
; (cx)=除数
; 返回 (dx)=结果的高16位,(ax)=结果的低16位
; (cx)=余数
; 公式: X/N = INT(H/N)*65536 + [REM(H/N)*65...
code segment
start:
mov ax,4240H
mov dx,000FH
mov cx,0AH
call divdw
mov ax,4c00H
int 21H
; 名称: divdw
; 功能: 进行不会溢出的除法运算
; 参数:(ax)=dword型数据的低16位
; (dx)=dword型数据的高16位
; (cx)=除数
; 返回 (dx)=结果的高16位,(ax)=结果的低16位
; (cx)=余数
; 公式: X/N = INT(H/N)*65536 + [REM(H/N)*65...
阅读全文 |
评论次数(3) |
浏览次数(806) |
所属类型(汇编作业)
[2012-07-09 17:23] 实验10:显示字符串
assume cs:code
data segment
db 'Welcome to masm!',0
data ends
code segment
start:
mov dh,24
mov dl,0
mov cl,2
mov ax,data
mov ds,ax
mov si,0
call show_str
mov ax,4c00H
int 21H
; 名称:show_str
; 功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串
; 参数: (DH)=行号(取值范围为0-24);
; (DL)=列号(取值范围为...
data segment
db 'Welcome to masm!',0
data ends
code segment
start:
mov dh,24
mov dl,0
mov cl,2
mov ax,data
mov ds,ax
mov si,0
call show_str
mov ax,4c00H
int 21H
; 名称:show_str
; 功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串
; 参数: (DH)=行号(取值范围为0-24);
; (DL)=列号(取值范围为...
阅读全文 |
评论次数(2) |
浏览次数(813) |
所属类型(汇编作业)
[2012-06-29 22:49] 检测点9.3
检测点9.3
补全编程,利用loop指令,实现在内存2000H段中查找第一个值为0的字节,找到后,将它的偏移地址存储在dx中。
assume cs:code
code segment
start: mov ax,2000H
mov ds,ax
mov bx,0
s: mov cl,[bx]
mov ch,0
inc cx ;补充的指令
inc bx
loop s
ok: dec bx
mov dx,bx
mov ax,4c00H
int 21H
code ends
end start...
补全编程,利用loop指令,实现在内存2000H段中查找第一个值为0的字节,找到后,将它的偏移地址存储在dx中。
assume cs:code
code segment
start: mov ax,2000H
mov ds,ax
mov bx,0
s: mov cl,[bx]
mov ch,0
inc cx ;补充的指令
inc bx
loop s
ok: dec bx
mov dx,bx
mov ax,4c00H
int 21H
code ends
end start...
阅读全文 |
评论次数(2) |
浏览次数(837) |
所属类型(汇编作业)
『 查看更多文章 』