|
虽然我也是玩汇编的,没耐心看,但是看到8000h很惊讶,就一个点灯程序用这么大的地址干嘛 就一个点灯能上天? |
lyonkon 发表于 2023-12-23 21:01 ![]() |
|
子程序跳转到其他子程序,再跳转到另外一个程序,然后再跳,这样写的人不多。在追求锦上添花的地方可以这样写。 因为程序多了容易乱。而且逻辑分析太麻烦。 我建议:1,逻辑功能的子程序功能尽量单一,小程序,只开机调用一次的除外。便于分析 检查 2,子程序需要其他程序功能的,以调用为主。跳转为辅。大脑能理解数十个嵌套跳转的人除外。 例1: led1_ON..............作为子程序1带返回 led2_ON..............作为子程序2带返回 led3_ON..............作为子程序3带返回 delay1..................作为子程序4带返回 先将上面子程序写好 start: //主程序 如果按键1按下 跳转到start1 如果按键2按下 跳转到start2 start1: 调用延时 按键1没有按下 跳转到 start1_end 否则下一条 调用 led1_ON start1_end: 跳转到start3 start2: start3:end 以上的例子你可以先试试看。 |
lyonkon 发表于 2023-12-22 11:40 改了一下,大哥再看看,我已经基本实现了功能,看看有没有其他问题 |
wangxiangtan 发表于 2023-12-22 15:12 你这是c,我这是汇编大哥 |
Hephaestus 发表于 2023-12-22 13:25 第一次发帖求助,没经验,不小心加错文件了,大哥再看看 |
|
while(1) { uchar a=按键检测(); if(a==S1) { 点亮LED1; } …… if(a == S5) { 熄灭LED1; 熄灭LED2; …… sleep(10); } } |
| 你贴的图是proteus的,给出来的文件是multisim的,完全是驴唇对不上马嘴,只能证明你根本就没有看过,随便从网上搜来的东西,一点儿都不理解,也不打算理解,就发出来让大家算命。 |
| 要增加程序存储器ROM,数据存储器RAM。最起码8086有地方取指令吧 |