Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 在汇编语言程序中创建多行菜单_Assembly - Fatal编程技术网

Assembly 在汇编语言程序中创建多行菜单

Assembly 在汇编语言程序中创建多行菜单,assembly,Assembly,我的目标是显示一个包含4个选项的菜单:姓名、年龄、专业和退出。出于某种原因,我不知道如何将其显示为一个菜单,每个选项都在单独的一行上。应该是这样的: 请选择一个选项: 1.名称 2.年龄 3.专业 4.出口 我已经习惯了Java的生活方式,在字符串中使用\n将文本推到下一行。它在8086中。由EMU8086制成: .model small .stack 100h .data menu db "Please select a choice:",13,10 db "1. Name",

我的目标是显示一个包含4个选项的菜单:姓名、年龄、专业和退出。出于某种原因,我不知道如何将其显示为一个菜单,每个选项都在单独的一行上。应该是这样的:

请选择一个选项:
1.名称
2.年龄
3.专业
4.出口

我已经习惯了Java的生活方式,在字符串中使用\n将文本推到下一行。它在8086中。

由EMU8086制成:

.model small

.stack 100h

.data

menu db "Please select a choice:",13,10
     db "1. Name",13,10
     db "2. Age",13,10
     db "3. Major",13,10
     db "4. Exit",13,10,'$'

.code
start:

;INITIALIZE DATA SEGMENT.
  mov  ax, @data
  mov  ds, ax

  call clear_screen      
  call display_menu    

;WAIT FOR ANY KEY.    
  mov  ah, 7
  int  21h

;FINISH PROGRAM.
  mov  ax, 4c00h
  int  21h

;---------------------------------------------

display_menu proc
  mov  dx, offset menu
  mov  ah, 9
  int  21h
  ret
display_menu endp

clear_screen proc
  mov  ah, 0
  mov  al, 3
  int  10H
  ret
clear_screen endp

end start

什么类型的程序集:8086、MIPS、arm、altera等?抱歉,该程序集是8086。请在每个字符串的末尾添加13,10(文字数字,引号外),而不是\n。试着让我们知道。这是我得到的错误…嗯,你使用的编译器是什么?谢谢,解决了这个问题!它现在运行,并在我选择一个选项时显示相应的信息。不幸的是,我需要程序再次显示菜单,以便为另一个选择做好准备。这是我的下一个问题,哈海添加了显示菜单的程序,只需随时随地调用它,如果您之前清除屏幕,效果会更好。