assembly 这段代码是做什么的?我是否只有一个名为menu的字符串?还是可以通过label menu访问的各种字符串?[closed]

6ie5vjzr  于 2022-12-04  发布在  其他
关注(0)|答案(1)|浏览(96)

已关闭。此问题需要更多focused。当前不接受答案。
**想要改进此问题吗?**更新问题,使其仅关注editing this post的一个问题。

昨天关门了。
Improve this question

data segment    
menu db "Please select a choice:" ,13, 10  ; 13, 10= New Line 
     db "1. Jogar",13,10
     db "2. Carregar",13,10
     db "3. Guardar",13,10 
     db "4. Top 5" ,13,10  
     db "5. Creditos",13,10      
     db "6. Exit",13,10,'$'

ends

我不能理解这个语法,还有我怎么才能使一个函数接受数字(并且只把数字作为输入),如果用户选择任何其他字符,它会再次显示这个菜单,直到程序得到这些数字之一

txu3uszq

txu3uszq1#

你只有一个名为Menu的字符串。就DOS而言,这个字符串直到到达$才结束。如果你想让每个字符串都有自己的标签以便于访问,你可以这样做:

data segment    
menu db "Please select a choice:" ,13, 10  ; 13, 10= New Line
 
menu_1 db "1. Jogar",13,10,'$'
menu_2 db "2. Carregar",13,10,'$'
menu_3 db "3. Guardar",13,10,'$'
menu_4 db "4. Top 5" ,13,10,'$'
menu_5 db "5. Creditos",13,10,'$'  
menu_6 db "6. Exit",13,10,'$'

ends

也就是说,这样做的话,每个菜单末尾的额外“$”确实会占用更多的空间。但是,如果在某个时候你决定打印一半的菜单或类似的东西,这会更方便。如果你总是要打印整个菜单,那么就保持原样。

相关问题