assembly x8086 undefined reference to 'pause'
I'm trying to assemble a simple file and then i want to stop the video to see what I've done. The code is:
*.GLOBAL _main
.DATA
stringa: .ASCIZ "Questa e' la stringaaa"
lettera: .BYTE 'e'
conteggio: .BYTE 0x00
.TEXT
_main: NOP
MOV $0x00, %CL
LEA stringa, %ESI
MOV lettera, %AL
comp: CMPB $0x00, (%ESI)
JE fine
CMP (%ESI), %AL
JNE poi
INC %CL
poi: INC %ESI
JMP comp
fine: MOV %CL, conteggio
CALL pause
RET*
when I try to assemble in the cmd using the command:
gcc -o file file.s
I get the state:
C:UsersUser nameAppDataLocalTempccegNf7o.o:fake:(.text+0x23):
undefined reference to `pause'
collect2.exe: error: ld returned 1 exit status
It seems simple but I tried so hard and still don't succeed.
assembly x86-16 gas
add a comment |
I'm trying to assemble a simple file and then i want to stop the video to see what I've done. The code is:
*.GLOBAL _main
.DATA
stringa: .ASCIZ "Questa e' la stringaaa"
lettera: .BYTE 'e'
conteggio: .BYTE 0x00
.TEXT
_main: NOP
MOV $0x00, %CL
LEA stringa, %ESI
MOV lettera, %AL
comp: CMPB $0x00, (%ESI)
JE fine
CMP (%ESI), %AL
JNE poi
INC %CL
poi: INC %ESI
JMP comp
fine: MOV %CL, conteggio
CALL pause
RET*
when I try to assemble in the cmd using the command:
gcc -o file file.s
I get the state:
C:UsersUser nameAppDataLocalTempccegNf7o.o:fake:(.text+0x23):
undefined reference to `pause'
collect2.exe: error: ld returned 1 exit status
It seems simple but I tried so hard and still don't succeed.
assembly x86-16 gas
1
pause
is not a function you can'tcall
it. Trycall getchar
instead.
– Jester
Nov 14 '18 at 12:43
Set a breakpoint on theret
in a debugger, or run your program from inside an already-existing terminal window, if you can't configure a terminal to stay open after running your program.
– Peter Cordes
Nov 14 '18 at 12:44
I tried and it's the same, instead of 'pause' there's 'getchar'
– mordecai
Nov 14 '18 at 12:45
1
Actually use_getchar
as your environment apparently uses leading underscore on functions. (Also let me correct myself:pause
is a function at least per POSIX, but it's probably not what you were looking for.)
– Jester
Nov 14 '18 at 12:49
That worked, thanks a lot!
– mordecai
Nov 14 '18 at 12:51
add a comment |
I'm trying to assemble a simple file and then i want to stop the video to see what I've done. The code is:
*.GLOBAL _main
.DATA
stringa: .ASCIZ "Questa e' la stringaaa"
lettera: .BYTE 'e'
conteggio: .BYTE 0x00
.TEXT
_main: NOP
MOV $0x00, %CL
LEA stringa, %ESI
MOV lettera, %AL
comp: CMPB $0x00, (%ESI)
JE fine
CMP (%ESI), %AL
JNE poi
INC %CL
poi: INC %ESI
JMP comp
fine: MOV %CL, conteggio
CALL pause
RET*
when I try to assemble in the cmd using the command:
gcc -o file file.s
I get the state:
C:UsersUser nameAppDataLocalTempccegNf7o.o:fake:(.text+0x23):
undefined reference to `pause'
collect2.exe: error: ld returned 1 exit status
It seems simple but I tried so hard and still don't succeed.
assembly x86-16 gas
I'm trying to assemble a simple file and then i want to stop the video to see what I've done. The code is:
*.GLOBAL _main
.DATA
stringa: .ASCIZ "Questa e' la stringaaa"
lettera: .BYTE 'e'
conteggio: .BYTE 0x00
.TEXT
_main: NOP
MOV $0x00, %CL
LEA stringa, %ESI
MOV lettera, %AL
comp: CMPB $0x00, (%ESI)
JE fine
CMP (%ESI), %AL
JNE poi
INC %CL
poi: INC %ESI
JMP comp
fine: MOV %CL, conteggio
CALL pause
RET*
when I try to assemble in the cmd using the command:
gcc -o file file.s
I get the state:
C:UsersUser nameAppDataLocalTempccegNf7o.o:fake:(.text+0x23):
undefined reference to `pause'
collect2.exe: error: ld returned 1 exit status
It seems simple but I tried so hard and still don't succeed.
assembly x86-16 gas
assembly x86-16 gas
edited Nov 14 '18 at 12:38
mordecai
asked Nov 14 '18 at 12:32
mordecaimordecai
12
12
1
pause
is not a function you can'tcall
it. Trycall getchar
instead.
– Jester
Nov 14 '18 at 12:43
Set a breakpoint on theret
in a debugger, or run your program from inside an already-existing terminal window, if you can't configure a terminal to stay open after running your program.
– Peter Cordes
Nov 14 '18 at 12:44
I tried and it's the same, instead of 'pause' there's 'getchar'
– mordecai
Nov 14 '18 at 12:45
1
Actually use_getchar
as your environment apparently uses leading underscore on functions. (Also let me correct myself:pause
is a function at least per POSIX, but it's probably not what you were looking for.)
– Jester
Nov 14 '18 at 12:49
That worked, thanks a lot!
– mordecai
Nov 14 '18 at 12:51
add a comment |
1
pause
is not a function you can'tcall
it. Trycall getchar
instead.
– Jester
Nov 14 '18 at 12:43
Set a breakpoint on theret
in a debugger, or run your program from inside an already-existing terminal window, if you can't configure a terminal to stay open after running your program.
– Peter Cordes
Nov 14 '18 at 12:44
I tried and it's the same, instead of 'pause' there's 'getchar'
– mordecai
Nov 14 '18 at 12:45
1
Actually use_getchar
as your environment apparently uses leading underscore on functions. (Also let me correct myself:pause
is a function at least per POSIX, but it's probably not what you were looking for.)
– Jester
Nov 14 '18 at 12:49
That worked, thanks a lot!
– mordecai
Nov 14 '18 at 12:51
1
1
pause
is not a function you can't call
it. Try call getchar
instead.– Jester
Nov 14 '18 at 12:43
pause
is not a function you can't call
it. Try call getchar
instead.– Jester
Nov 14 '18 at 12:43
Set a breakpoint on the
ret
in a debugger, or run your program from inside an already-existing terminal window, if you can't configure a terminal to stay open after running your program.– Peter Cordes
Nov 14 '18 at 12:44
Set a breakpoint on the
ret
in a debugger, or run your program from inside an already-existing terminal window, if you can't configure a terminal to stay open after running your program.– Peter Cordes
Nov 14 '18 at 12:44
I tried and it's the same, instead of 'pause' there's 'getchar'
– mordecai
Nov 14 '18 at 12:45
I tried and it's the same, instead of 'pause' there's 'getchar'
– mordecai
Nov 14 '18 at 12:45
1
1
Actually use
_getchar
as your environment apparently uses leading underscore on functions. (Also let me correct myself: pause
is a function at least per POSIX, but it's probably not what you were looking for.)– Jester
Nov 14 '18 at 12:49
Actually use
_getchar
as your environment apparently uses leading underscore on functions. (Also let me correct myself: pause
is a function at least per POSIX, but it's probably not what you were looking for.)– Jester
Nov 14 '18 at 12:49
That worked, thanks a lot!
– mordecai
Nov 14 '18 at 12:51
That worked, thanks a lot!
– mordecai
Nov 14 '18 at 12:51
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53300332%2fassembly-x8086-undefined-reference-to-pause%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53300332%2fassembly-x8086-undefined-reference-to-pause%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
pause
is not a function you can'tcall
it. Trycall getchar
instead.– Jester
Nov 14 '18 at 12:43
Set a breakpoint on the
ret
in a debugger, or run your program from inside an already-existing terminal window, if you can't configure a terminal to stay open after running your program.– Peter Cordes
Nov 14 '18 at 12:44
I tried and it's the same, instead of 'pause' there's 'getchar'
– mordecai
Nov 14 '18 at 12:45
1
Actually use
_getchar
as your environment apparently uses leading underscore on functions. (Also let me correct myself:pause
is a function at least per POSIX, but it's probably not what you were looking for.)– Jester
Nov 14 '18 at 12:49
That worked, thanks a lot!
– mordecai
Nov 14 '18 at 12:51