bit电信专业汇编上机考试三星题开源
北理的汇编期末题其实也没太大难度,很多三星题都是C里面写过的非常容易的题目,而且因为允许提前准备,所以难度又降低了很多,我下面的代码基本上都是自己敲得(不排除有一些算法去网上搜了一下借鉴了一下别人的),另外不完全排除留有bug的可能性,因为我也不是每个用例都测试过了。 也可以看出我这个人的风格,就是喜欢疯狂开堆栈,疯狂写子程序,能封装的东西就一直封装到祖坟里去,毕竟我搞嵌入式软件搞得比较多,那种能封装就封装的工程思想就算是写这种百来行的代码也很难改掉习惯。 在多模块设计中,主模块中调用内部模块buf1,buf2,buf3,buf4。主模块根据键盘输入的指令(如:a,b,c,d)调用上述对应的子程序,每个子程序的任务是显示其入口地址。调用后继续等待调用,若输入ESC键(ASCII码为1BH)则结束程序的执行。请编写完成该任务的程序。 没有什么特别难的地方,主要是得注意一下DISPLAY那边的写法 MOV CL,04H ROL BX,CL ;只能用CL做循环移位,每次移动4位 AND AX,0FH ;取低4位,然后单独打印 打印字母要用到ADD 07H 入口获取就直接在DATA SEGMENT里面声明DW的几个变量,然后声明PROC的时候用它们就行了 DATA SEGMENT BUF DB 10 DB ? DB 10 DUP('$') NEWLINE DB 0DH,0AH,'$'