前奏有这样一个问题:在一条左右水平放置的直线轨道上任选两个点,放置两个机器人,请用如下指令系统为机器人设计控制程序,使这两个机器人能够在直线轨道上相遇。(注意两个机器人用你写的同一个程序来控制)。 指令系统:只包含4条指令,向左、向右、条件判定、无条件跳转。其中向左(右)指令每次能控制机器人向左(右...
分类:
其他好文 时间:
2015-08-28 17:18:02
阅读次数:
98
//// main.c// 循环结构//// Created by zhangxueming on 15/5/28.// Copyright (c) 2015年 zhangxueming. All rights reserved.//#include ////goto 无条件跳转语句//vo...
分类:
其他好文 时间:
2015-06-01 14:28:24
阅读次数:
234
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】
在此之前我们使用的汇编代码示例都是从第一条指令开始,直到最后最后一条指令程序退出。但实际上和高级语言类似,汇编代码也提供指令来改变程序处理数据方式。
正常情况下,程序要执行要执行的下一条指令是在指令指针寄存器中,指令指针确定程序中...
分类:
系统相关 时间:
2015-05-09 16:32:58
阅读次数:
319
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】
循环也是改变指令执行顺序的一种方式,循环操作重复的执行,直到满足条件。我们可以使用条件跳转指令来创建循环,但事实上汇编语言中有更简单的循环指令系列。
循环指令使用ECX寄存器作为计数器,随着循环指令的执行自动递减它的值,并且不会影...
分类:
系统相关 时间:
2015-05-09 16:31:18
阅读次数:
185
6.3.3 为跳转指令产生汇编代码
在这一小节中,我们要为“有条件跳转”、“无条件跳转”和“间接跳转”产生相应的汇编指令。中间指令的四元式如下所示:
(1) 有条件跳转,例如“if (a
////////对应的汇编代码//////////
movl a, %ea...
分类:
其他好文 时间:
2015-04-30 18:12:06
阅读次数:
154
6.3.1 由中间指令产生汇编代码的主要流程
在这一小节,我们可把关注的焦点放在“如何把某条中间代码翻译成汇编代码”上。UCC编译器的中间代码是如下所示的四元式,包括运算符和3个操作数。
当然有些中间代码只需要用到opcode和DST就可以了,例如,无条件跳转指令“goto BB2;”就不需要SRC1和SRC2。为了便于汇编代码的生成,UCC编译器在u...
分类:
其他好文 时间:
2015-04-29 21:55:55
阅读次数:
1253
本节对UCC编译器的中间代码生成及优化进行简介,给出基本块BasicBlock、三地址码、控制流图CFG的相应数据结构,介绍有条件跳转、无条件跳转和间接跳转等概念。...
分类:
其他好文 时间:
2015-04-09 09:02:30
阅读次数:
217
第二天作者主要解释并优化了之前用汇编写的helloworld系统源文件
之前一节是用了DB DW DD RESB等命令
这一节的新命令:
ORG把程序装载到内存中指定的地址,单词:origin
JMP跳转
MOV赋值
ADD加法
CMP比较
JE条件跳转
INT软件终端指令,单词:interrupt
HLT CPU待机
介绍CPU寄存器
16位寄存器:
AX
CX
...
分类:
其他好文 时间:
2015-02-12 12:32:26
阅读次数:
164
摘要:虽然jmp指令提供了控制转移,但是它不允许进行任何复杂的判断。80x86条件跳转指令提供了这种判断。条件跳转指令是创建循环和实现其他条件执行语句,如if…endif的基本要素。条件跳转指令检查一个或多个标志位,判断它们是否匹配某个特殊条件(就像setcc指令):如果标志匹配成功,该指令就将控制...
分类:
编程语言 时间:
2014-11-25 23:23:30
阅读次数:
286