自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 实验16

assume cs:code  code segment start:           mov ax , 0      mov es , ax      mov word ptr es:[7ch*4] ,   offset setscreen                   //不复制程序,只是将中断向量表中7ch号中断的地址改为我的处理程序的地址,即setscre

2014-01-29 10:54:30 498

原创 实验15

安装一个新的int9 中断例程,功能:在DOS下,按下A键后,除非不松开,如果松开,就显示满屏幕的"A" (1)自行编写的int9中断例程:     assume cs:code stack segment                     //自定义栈段,其实也可以不需要     db 128 dup (0) stack ends code se

2014-01-29 00:01:47 607

原创 实验14

编程,以“年/月/日 时:分:秒”的格式,显示从cmos ram中读取的时间: assume cs:code , ds:data data segment     db 32 dup(0)         //开辟32个字节的空间来存放最终要显示的字符串,实际用到了17字节。初始化为0 data ends code segment      start:  

2014-01-28 17:10:42 472

原创 实验13.3

assume cs:code code segment s1: db 'Good , better , best ,', '$'  s2: db 'Never let it rest ,', '$'  s3: db 'Till good is better ,' , '$'  s4: db 'And better , best.', '$' s: dw offset s1 ,

2014-01-28 15:24:55 494

原创 实验13.2

(2)编写,编译,并运行myloop.exe assume cs:code code segment      start:      mov ax , cs      mov ds , ax      mov si , offset myloop      mov ax , 0      mov es , ax      mov di , 200h  

2014-01-28 14:37:54 454

原创 实验13.1

(1)  编写,并安装myshow程序 assume cs:code code segment      start:      mov ax , cs      mov ds , ax      mov si , offset myshow      mov ax , 0      mov es , ax      mov di , 200h    

2014-01-28 14:18:52 436

原创 检测点13.1

(1) 安装自己编写的7ch中断程序(myjumpn.asm),即将功能处理程序拷贝到内存 0:200h处,并将中断向量表的7ch项做相应的设置(段地址,偏移地址)            assume cs:code code segment      start:      mov ax , cs      mov ds , ax      mov si ,

2014-01-28 11:54:11 661

原创 实验12

assume cs:code code segment start: mov ax , cs        mov ds , ax        mov si , offset do0        mov ax , 0        mov es , ax        mov di , 200h        mov cx , offset do0end-off

2014-01-27 12:59:36 454

原创 实验11

assume cs:codesg datasg segment        db "Beginner's All-purpose Symbolic Instruction Code.",0 datasg ends codesg segment        begin:        mov ax , datasg        mo

2014-01-27 00:19:03 561

原创 第10章课程设计1

assume cs:codesg data segment      db '1975','1976','1977','1978','1979'      db '1980','1981','1982','1983','1984'      db '1985','1986','1987','1988','1989'      db '1990','1991','1992'

2014-01-25 23:51:22 478 1

原创 第十章实验10.3

本实验要将十进制数字,以ASCII码的形式显示到屏幕上 assume cs:code data segment      db 10 dup (0)                         //存放要写到屏幕上的数字的内存段 data ends code segment      start:            mov ax

2014-01-25 15:17:42 505

原创 第十章实验10.2

本实验要实现32位除法结果不溢出(被除数32位,除数16位) assume cs:code code segment start :        mov ax , 4240H                            //参数1:被除数的低16位,放入ax        mov dx , 000FH                          

2014-01-25 11:28:41 479

原创 第十章实验10.1

assume cs:code data segment      db 'Welcome to masm!',0             //要显示的字符串,以0结尾,属于"C风格字符串“,这样就不用保存字符串的长度 data ends code segment start:  mov dh, 8

2014-01-25 10:16:34 561

原创 检测点10.1-10.5

10.1       mov ax , 0       mov ax, 1000h 10.2      ax = 6 10.3      ax = 1010H 10.4      ax = BH 10.5 (1)     ax = 3 10.5 (2)     ax = 1 , bx = 0

2014-01-18 22:43:17 662

原创 第九章实验9

assume cs:codesg,es:datasg,ss:stacksg datasg segment        db 'welcome to masm!'               //要显示的字符串,共16个byte        db 11000010B                             //第一种字体属性,红底闪烁绿字        db 00

2014-01-18 15:29:17 476

原创 第9章实验8

assume cs:codesg codesg segment        mov ax,4c00h                      // ip=0        int 21h           start:         mov ax , 0                         // ip=5         s: nop

2014-01-18 14:17:24 470

原创 检测点9.3

assume cs:code code segment      start:      mov ax , 2000h      mov ds , ax      mov bx , 0      s:      mov cl , [bx]      mov ch , 0      inc cx         //此处要将cx加1是因为loop指令会先将c

2014-01-18 11:23:42 821

原创 检测点9.2

assume cs:code code segment      start: mov ax , 2000h             mov ds , ax             mov bx , 0             s:             mov cl , [bx]   //用【bx】处内存的值直接赋值给cx寄存器,注意不能将cl写成cx,因为

2014-01-18 11:11:24 635

原创 检测点9.1

(1)        assume cs:code data segment      dw 0,0 data ends code segment      start :            mov ax , data            mov ds , ax            mov bx , 0            jmp word p

2014-01-18 10:52:00 652

原创 第八章实验7

assume cs:codesg,ss:stacksg data segment      db '1975','1976','1977','1978','1979'      db '1980','1981','1982','1983','1984'      db '1985','1986','1987','1988','1989'      db '1990','1

2014-01-17 23:56:45 455

原创 第七章问题7.9

assume cs:codesg,ss:stacksg,ds:datasg stacksg segment        dw 0, 0, 0, 0, 0, 0, 0, 0 stacksg ends datasg segment        db '1. display      '        db '2. brows        '        db '3

2014-01-15 21:57:48 493

原创 第六章实验五

(5) assume cs:code a segment     db 1,2,3,4,5,6,7,8 a ends b segment     db 1,2,3,4,5,6,7,8 b ends c segment     db 0,0,0,0,0,0,0,0 c ends code segment start :    

2014-01-15 00:43:35 390

原创 第5章实验4

(1)向内存0:200 -- 0:23F 依次传送数据0--63(3FH) assume cs:code code segment      mov ax , 0020H      mov ds , ax      mov bx , 0      mov cx , 40H      s: mov [bx] , bx         inc bx      

2014-01-14 00:13:42 373

原创 检测点3.2

(1) 将内存空间2000:0000-2000:000F看作栈,初始时候栈空,初始栈指针指向内存单元2000:0010,通过push指令将数据压入栈中       mov   ax,  1000H       mov   ds,   ax       mov   ax ,  2000H       mov   ss,  ax       mov   sp,  10H       pus

2014-01-09 23:16:14 499

原创 检测点3.1

(1)在Debug中,用"d 0:0 1f“ 查看内存,结果如下: 0000:0000   70  80  F0   30  EF   60  30  E2- 00  80  80  12  66  20  22  60 0000:0010   62  26  E6  D6  CC  2E  3C  3B-AB  BA  00  00  26  06  66  88 下面的程序执行前, AX

2014-01-09 23:02:55 628

原创 检测点2.3

下面的3条指令执行后,CPU几次修改IP? 都是什么时候?最后IP中的值是多少?      mov    ax  ,    bx         (根据CS:IP 读取指令,IP+, 执行指令 mov)      sub    ax  ,    ax         (根据CS:IP 读取指令,IP+, 执行指令 sub,执行后ax寄存器中的值为0)      jmp    ax      

2014-01-05 16:42:34 481

原创 检测点2.2

(1) 给定段地址为 0001H , 仅通过变化偏移地址寻址,CPU的寻址范围为  00010H ----- 1000FH (2) 有一数据存放在内存 20000H 单元中,现给定段地址为 SA , 若想用偏移地址寻到此单位,则 SA 满足的条件是: 最小为:1001H , 最大为:2000H

2014-01-05 15:08:49 449

原创 检测点2.1

(1) 写出每条汇编指令执行后相关寄存器中的值             mov    ax  ,  62627         AX = F4A3H             mov    ah ,  31H             AX = 31A3H            mov     al  ,  23H             AX = 3123H            add  

2014-01-05 14:38:24 405

原创 检测点1.1

(1) 1个CPU的寻址能力为8KB,那么它的地址总线的宽度为 13 (2) 1KB的存储器有 1024 个存储单元 。 存储单元的编号从 0 到 1023 (3) 1KB的存储器可以存储 1024×8 个bit, 1024 个Byte (4) 1GB , 1MB, 1KB 分别是 1024x1024x1024 Byte, 1024x1024 Byte, 1024Byte (5) 8080

2014-01-05 13:52:03 478

原创 汇编语言学习(开篇)

本人今天开始学习王爽老师著的《汇编语言》,为督促自己踏实学习,将每节课后检测点的练习都发到博客上来,一节不漏。本人汇编0基础,一切从头开始。

2014-01-05 13:39:16 389

原创 数据结构之图(下)

图的实现 public class Graph {     private List nodes; //所有节点的集合     private Map> sides; //图的构成数据,每一个节点包含一个list,list里面是所有和该节点相邻的side          public Graph(){     nodes=new ArrayList();     sides

2013-09-30 02:34:55 478

原创 数据结构之图(上)

图的用处也很广。搜索引擎的爬虫机器人在网上下载网页肯定用到了图这种数据结构,包括图的深度优先/广度优先算法,以及图中两个节点间的最短距离及 最短路径(路线)。本实现简单实现了图的这三个算法。 我这里用来表示图的数据结构包括节点和边(有向图,边含有权重)。 节点的实现如下: public class Node { private String name;

2013-09-30 02:26:21 523

原创 数据结构之栈(用list实现)

栈(stack)这种数据结构用得相当那个广泛。用list实现相当方便。特点就是FILO(先进,后出) public class MyStack { private MyLinkedList lists; public MyStack(){ lists=new MyLinkedList(); } //将新元素压入栈中,位居栈顶 public void push(i

2013-09-30 02:09:31 688

原创 数据结构之list(用链表实现)

相当于LinkedList 链表由节点构成。由于只实现单向链表,所里节点里面只有next指针,没有previous指针。 public class MyNode { private int data; private MyNode next; public int getData() { return data; } public void setDa

2013-09-30 02:05:26 792

原创 数据结构之list(用数组实现)

由数组实现的list,相当于ArrayList,简单起见,未实现为泛型。 public class MyArrayList { private int[] array; private int capacity; //容量 private int size; //实际填充的数值个数 private static final int DEFAULT_CAPACI

2013-09-30 02:00:42 953

原创 数据结构之优先队列

优先队列就是在队列的基础上增加优先级的比较。在操作系统进行进程/线程调度算法中即用到了优先队列。 比如去医院看病,大家都要排队,但是如果病情非常严重的人肯定不需要排队了,可以直接救治,因为其优先级更高。 优先队列用堆来实现非常方便。因为将元素添加到堆中以后,堆的头节点总是值最大的那个(按Comparable的compareTo方法进行比较),如果 在实现类的comparaTo

2013-09-30 01:50:37 569

原创 排序算法值堆排序

堆排序的原理:用数组元素构建堆。每次调用堆的insert函数时,堆都会将堆中最大的元素调整到堆的头节点处。 添加完毕,然后调用delete函数,每次删除和返回的都是当前堆中的最大数值。  public static void heapSort(int[] lists){ Heap heap=new Heap(); for(int i=0;i<lists.l

2013-09-30 01:40:51 496

原创 数据结构之堆

堆实际也是一种二叉数。特点是父节点的数值总是大于等于子节点的数值。堆可以用来实现堆排序,也可以用来实现优先队列。 //堆实现为泛型类,实现类型必须实现Comparable接口 public class Heap { private List data; //数据放在list里面 public Heap(){ data=new ArrayList(); } p

2013-09-30 01:35:11 442

原创 数据结构之二叉查找树

二叉查找树由节点构成,每个结构包含数值元素,左子树(指向左边相连的节点的指针),右子树(指向右边相连的节点的指针),父节点(指向父节点的指针) public class BinaryNode { private int data; private BinaryNode left=null; private BinaryNode right=null; private Bin

2013-09-30 01:24:48 609

原创 排序算法之二叉查找树排序

//二叉查找树排序,原理:构造二叉查找树,用数组数据进行填充,然后每次删除二叉查找树之最小元素,返回的即是树中剩余元素中的最小值。 //该算法的局限是不能有重复元素的存在 //关于BinaryTree的构建,请参考本系列数据结构之二叉查找树 public void BinaryTreeSort(int[] lists) { BinaryTree tree=new BinaryT

2013-09-30 01:00:47 679

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除