popa | solved user requirements in Yangon who want to hire taxi
kandi X-RAY | popa Summary
kandi X-RAY | popa Summary
Popa is aim to solved user requirements in Yangon who want to hire taxi easily like GrabTaxi and Uber
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
- Add a View to the EditText
- Set the EditText
- Hide the label
- Show the label using an animation
- Start the UI thread
- Gets the google map
- Adds an icon to the map
- Invoked when the activity is created
- Sets up the map if needed
- Start UI
- Deletes the location listener
- Resume play services
- Click Source Button
- Override in order to disable the login button
- Hide the radio messenger
- Click the radio button
- Called when a menu item is selected
- Called when an item is selected
- Create the object graph
- Called when the menu item is selected
- Display provider disabled
- Show login ui
- Provide criteria
- Show the UI
- Click on a marker
- Called when the result is saved
popa Key Features
popa Examples and Code Snippets
Community Discussions
Trending Discussions on popa
QUESTION
I extracted the assembly code of the windows/meterpreter/reverse_tcp
payload with lhost set to 127.0.0.1
and lport set to 443
, however after building the assembly program with fasm
the program crashes, any ideas as to why?
assembly code:
...ANSWER
Answered 2020-Dec-28 at 05:25You crashed with EIP=0x1e. That's because you told FASM to jump there, to that absolute address, with jnz 0x1e
. That page of memory is not mapped into your user-space process, so code-fetch causes an "invalid" page fault, and consequently the OS stops your process.
In the ndisasm
output, you can see that 1E is the 0000001E 31C0 xor eax,eax
line. That's where that branch is supposed to jump (if taken). ndisasm is disassembling as if the block of machine code was loaded starting at absolute address 0, or you could say it's using relative addresses.
(jcc rel8
is of course in the machine code a relative jump; the original machine code is position independent. So is yours, except that jnz 0x1e
tells FASM to figure out the relative offset necessary to reach EIP=0x1e from wherever this instruction will end up.)
Use a disassembler that uses labels for branch targets to make asm source you can actually re-assemble, like Agner Fog's objconv
. It can disassemble into NASM/YASM, MASM, or GAS (.intel_syntax noprefix
) syntax. NASM and FASM are very close in syntax, and that's what ndisasm make.
QUESTION
I'm new to C, and I've been given a question to write a program to check palindrome words. I did the following code, it gives an output. but the output is always "No". The idea of what I did in this code is, I first divided the string and pushed them into one stack (stacka). then pushed the rest of the letters to another stack(stackb). Then I pop both of those stacks and check whether the letter returning from each pop function(of stacka and stackb) is equal or not. if not it will return 0. below is the code. Thank you in advance. Have a nice day!.
...ANSWER
Answered 2020-Dec-22 at 11:53At a first glance, I have found the following issues in your code.
QUESTION
I'm new to all this, so I apologize in advance if I missed something really obvious
So, I'm trying to make a simple kernel in x86 assembly and C. I was trying to get interrupts working. I am defining the GDT, IDT in assembly.
I'm not even sure what's wrong, the GDT or the IDT. The thing is, everything seems fine until I actually trigger an interrupt.
I checked OSDev, the Intel Manuals, James Molloy's guide, and random blog posts, and I just can't figure this out.
Here's the code:
...ANSWER
Answered 2020-Nov-18 at 16:49I fixed it in the meantime, with the help of @MichaelPetch. Basically, the problem was, as he was trying to tell me, that I was defining wrong sizes for the values in the IDT. I was defining double words (dd) for the higher and lower bits, but I had to define 16-bit words (dw).
Because of relocation problems, I can't really statically define this without linker scripts and stuff. I tried to avoid this, so I ended up going for a dynamic approach, I did it in C.
There's not really a lot to explain, there are tons of resources out there that I missed (or misunderstanded).
If you are like me, a beginner, and don't really understand anything, my advice is to just take a break, and come back with a fresh mind. The OSDev Wiki is going to help you a lot (the forums too).
QUESTION
I'm trying to write an assembly function to convert ASCII decimal digits into hexadecimal values which can be easily used by the computer. Before showing my code, I have to point out that I'm working in 16-bit real mode (using AT&T syntax), therefore I have some limitations.
To achieve my goal, I wrote a "power" function which takes two arguments (BX as the base and CX as the exponent) and returns BX^CX into BX, or at least that's what I expected it to do. In reality, it works fine only once. For example:
...ANSWER
Answered 2020-Oct-24 at 17:36The power function is just fine in this case (except for the unrelated bugs mentioned in comments). When called with bx = 10
and cx = 1
it correctly leaves 10
in bx
. Single-stepping in a debugger is a good way to test this, and I found Bochs is a more convenient emulator than qemu for debugging 16-bit code.
The bug is in your "firmly excluded" print function, specifically at printh
. Consider what happens when dx
contains a value less than or equal to 0xf
. After the first iteration of loop_printh
, the low nibble has been shifted out of dx
, and so dx
is now 0. Thus the test at loop_printh
will exit the loop instead of iterating a second time. So the high 3 nibbles will never be written to HEX_OUT
, which will therefore still contain whatever characters were left behind as the high nibble from the previous print, here 006
.
Your printh
needs to iterate the loop four times no matter the input, to ensure that 0
s are written for all the high nibbles. Your test for the loop thus probably wants to be based on the value of the counter cx
instead.
how can my computer remember a value (such as the 0x60 from the first power call) I erased through a mov or a xor operation.
Because you never actually erased it :-)
QUESTION
I am trying to learn some x86 assembly. I have successfully created a MBR with a bootloader, loaded another sector, switched to Protected Mode and performed a far jump into the loaded sector.
Used environmentI am using NASM on a 64-bit Windows installation and assembling with nasm -s -f bin bootloader.asm -o test.img
. I load the test.img
file into a VirtualBox VM as a floppy.
I have written a subroutine (subroutine definition in code section) that uses lodsb
to load characters from ESI which I have previously pointed to a label using mov esi, _LOW_KERNEL_MESSAGES_TEST
(where _LOW_KERNEL_MESSAGES_TEST
is a label defined to db "Hello, World!", 0
). However, this does not print anything.
Neither does mov al, [_LOW_KERNEL_MESSAGES_TEST]
which was expected to print the first character 'H' (character printing subroutine takes AL
as character input)
Directly moving a character into AL
by mov al, 't'
and then calling the one character printing subroutine works fine, I have also tested the offset and successfully printed the word 'Test', the problem lies only in the "move label into esi and then load it into al" part of the printing
- Offsetting the label by various constants I found in the bootloader
- Printing the first character (as mentioned with
mov al, [_LOW_KERNEL_MESSAGES_TEST]
] - Commenting sections of the printing subroutines
- Modifying the far jump and GDT in bootloader
- Using
popad
instead ofpopa
(thought theAX
register was being modified?)
As per the request of the kind commenters below, I have attempted to create a minimal reproducible example, code for which can be found here:
This can further be assembled by using:
nasm -s -f bin .asm -o floppy.img
By binding this floppy.img file to a floppy controller in a VirtualBox 6.1 VM
and running it, a completely black screen appeared with a white cursor in the top left corner and the VM stalled, with a "critical error has occured" message, the error log does not make much sense to me but might be helpful, it can be found at https://pastebin.com/g1C2xf7V
My files:
bootloader.asm:
...ANSWER
Answered 2020-Sep-22 at 18:04You load the kernel (LBA-numbered sector 1 and following) to KERNEL_LOAD_POSITION
which is 1000h (4 KiB). However, your kernel immediately follows the boot sector loader in your assembly, so its labels are evaluated as if the kernel was to be placed at 600h + 512 = 800h (2 KiB). The call
instructions are not affected by this bug because they are relative, that is, position-independent. You can set the load position to 800h.
A different way to solve this is by using NASM's multi-section bin format. This is what that would look like:
QUESTION
I've got 8 different data sets popA
, popB
, popC
, popD
, popE
, popF
, popG
, and popH
for the growth rates for years of a particular city. Each data sets contains a column for the year (labelled Period
and a column for the growth rate (labelled A
for popA
, B
for popB
and so on).
Sample data for ```popA` as follows:
...ANSWER
Answered 2020-Sep-10 at 14:12Here is one approach. If you combine your data files and put your data into this format:
QUESTION
I want to print "Hello." every 55ns. what am I doing wrong?
...ANSWER
Answered 2020-Aug-09 at 19:04I want to print "Hello." every 55ns
I believe you meant 55 milliseconds (ms) and not nanoseconds (ns).
You don't need to hook any interrupt handler for this objective. All it takes is monitoring the BIOS.TimerTick and print the message as soon as the tick changes. That's what next program does. The executable will be a .COM program that starts up with CS
==DS
==ES
==SS
. The ORG 256
directive is mandatory.
QUESTION
I am currently in the process of fixing a bootloader I wrote to load my custom real-mode x86 kernel (SYS.BIN
). I managed to get it to read the root directory and FAT, and load a small-ish kernel from the filesystem, all within the bootsector. However, I began testing it with larger kernels, and it seems that the bootloader will not load more than one cluster. I checked my code against another similar bootloader, and it seems to be doing effectively the same thing when it comes to loading multi-cluster files. The main difference is that I am loading the first FAT into segment 0x3000
and the root directory into segment 0x3800
, so that they will be accessible to the kernel. (Did I mess up segmentation at all?)
I should probably mention that I'm testing this by compiling with NASM, writing the resulting BOOT.BIN
file to the first sector of a raw 32M image, mounting it on a loop device, copying SYS.BIN
over, and creating a new image of that loop device, which I then throw into QEMU as a hard drive. I know with certainty that it is only loading the first cluster of the file.
In particular, I believe the code that is causing the issue is likely in here:
...ANSWER
Answered 2020-Jul-29 at 15:30Your mov ax, word [ds:si]
has an unneeded ds
segment override.
This is also related to your problem with the variables, the memory accesses use ds
as the default segment. So after mov ax, 0x3000
\ mov ds, ax
you are not accessing your original variables any longer.
You have to reset ds
to 7C0h, as your loader uses the default org 0
. Your print_str
function does reset ds
like that. But the mov si, word [cluster]
and everything between the FAT word access in .next_cluster
and up to .jump
uses the wrong ds
. To correct this, change your code like this for example:
QUESTION
I have done my research and stumbled upon many solutions to change some characters of the string. I am trying to print a hex code in it's string form. But I have tried all the solutions but it won't compile on "Flat assembler". Following is my code :
...ANSWER
Answered 2020-Jul-08 at 21:31From the flatassembler board:
- FASM whines with "reserved word used as symbol"
Instructions like MOV AX, [CX] or JMP WORD [AX] cause this error - FASM bug ?
Your BUG. Only BX, BP, SI and DI are available for indexing in 16-bit code. FASM's report is bad, but it originates from internal design. This is a "problem" of 8086 design and 16-bit code. Using more registers like EAX etc. for addressing is a privilege of 32-bit code on 80386 and later CPU's.
Not every register 16-bit register can be used as an address register, only the following combinations are allowed:
- Only displacement:
[displacement]
- Only base register:
[BX+displacement]
- Only base pointer:
[BP+displacement]
- Only index register
[SI+displacement]
or[DI+displacement]
- Base and index register:
[BX+SI+displacement]
or[BX+DI+displacement]
- Base pointer and index register:
[BP+SI+displacement]
or[BP+DI+displacement]
The displacement can be omitted when 0. It can be a variable name here, for example. In this case you could write
QUESTION
I am trying to develop a small OS with custom bootloader. I have a little bit of experience in OSDEV but not that much... My problem is that the first stage bootloader does not load the seconds from the disk. this is the boot.asm file:
...ANSWER
Answered 2020-Jul-01 at 16:23I'd highly recommend using BOCHS to debug real mode code, especially bootloaders and the early stages of kernel development. On a *nix type system you could start BOCHS with:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install popa
You can use popa like any standard Java library. Please include the the jar files in your classpath. You can also use any IDE and you can run and debug the popa component as you would do with any other Java program. Best practice is to use a build tool that supports dependency management such as Maven or Gradle. For Maven installation, please refer maven.apache.org. For Gradle installation, please refer gradle.org .
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page